سلام دوستان یه کمک فوری نیاز دارم باید چند تا تمرین ساده جاوا اسکریپتی حل کنم ولی من هنوز الفبای جاوا اسکریپت رو هم کامل یاد نگرفتمه و توشون موندمه هر چی هم سایتا رو میگردم جوابی براشون پیدا نکردمه
اولین سوال اینه
برنامهای بنویسید که آرایه زیر را برحسب تعداد حروف هر عضو، از کوچک به بزرگ مرتب نموده و چاپ نماید. مثلا
arr = [“Ali”,”Hosein”,”ab”,”ab”,”Reza”,”Abolfazl”,”saleh”];
را به عنوان ورودی بگیرد و
newArr = [“ab”,”ab”,”ali”, …];
را به عنوان خروجی چاپ کند
به این صورت که اول طول هر رشته عضو ارایه رو حساب کنه و بعد از کوچیک به بزگ بر اساس طول رشته ارایه رو چاپ کنه
تو کنسول هم چاپ کنه کافیه چون تمرینه زیاد مهم نیست
اگه کسی بلده کمک کنه تا سوالات بعدی رو هم بپرسم
با تشکر
کدایی که مینویسی رو داخل ``` بنویسی که اینجوری نباشن
به نظر من از این منبع واسه خوندن جاوااسکریپت استفاده کن :
لینک
جواب اولی:
array = ["Ali","Hosein","ab","ab","Reza","Abolfazl","saleh"];
array.sort((a,b)=>a.length-b.length); //["ab", "ab", "Ali", "Reza", "saleh", "Hosein", "Abolfazl"]
جواب دومیم توسط regex (البته میشه اول تبدیلش کرد به آرایه و بعد اول هر حرف اول هر عضو آرایه رو بزرگ کرد و دوباره تبدیل به رشته و ... ولی خوب regex خیلی بهتره)
string = "hello world";
string.replace(/(^|\s)\S/g, e => e.toUpperCase());
^ اول رشته رو مچ میکنه
| این علامت یا
\s همه whitespace ها رو مچ میکنه
\S همه حروف و علامات به غیر از whitespace رو مچ میکنه
سوال سه هم که کامل ترین حل رو واست نوشتم حالات اینکه نه حروف تکراری باشن نه اینکه خط فاصله ها یا کاراکتر رو انتخاب کنه
let str = "qqq...";
let i = 0, nums = [] , len = str.length;
while(i < 3){
num = Math.floor(Math.random() * (len));
if( new RegExp("[a-z]").test(str.charAt(num)) && (nums.indexOf(num) === -1)){
re = new RegExp(`(?<=^.{${num}})\\S`,'g');
str = str.replace(re, e => e.toUpperCase());
nums.push(num);
i++;
}
}
console.log(str)
خدایش تا اینجا خیلی وقتم پرید حس نوشتن دیگه بقیه نیست (سوالات یه کم سرچ و فشار بیاری حل میشن)
خواستی بیا تگلرام
تلگرام
برنامه ای بنویسید که ابتدا تعداد سطرها، سپس تعداد ستونها را دریافت کند و جدولی با
همان تعداد سطرها و ستونهای وارد شده نمایش دهد
کدایی که مینویسی رو داخل ``` بنویسی که اینجوری نباشن
به نظر من از این منبع واسه خوندن جاوااسکریپت استفاده کن :
لینک
جواب اولی:
array = ["Ali","Hosein","ab","ab","Reza","Abolfazl","saleh"];
array.sort((a,b)=>a.length-b.length); //["ab", "ab", "Ali", "Reza", "saleh", "Hosein", "Abolfazl"]
جواب دومیم توسط regex (البته میشه اول تبدیلش کرد به آرایه و بعد اول هر حرف اول هر عضو آرایه رو بزرگ کرد و دوباره تبدیل به رشته و ... ولی خوب regex خیلی بهتره)
string = "hello world";
string.replace(/(^|\s)\S/g, e => e.toUpperCase());
^ اول رشته رو مچ میکنه
| این علامت یا
\s همه whitespace ها رو مچ میکنه
\S همه حروف و علامات به غیر از whitespace رو مچ میکنه
سوال سه هم که کامل ترین حل رو واست نوشتم حالات اینکه نه حروف تکراری باشن نه اینکه خط فاصله ها یا کاراکتر رو انتخاب کنه
let str = "qqq...";
let i = 0, nums = [] , len = str.length;
while(i < 3){
num = Math.floor(Math.random() * (len));
if( new RegExp("[a-z]").test(str.charAt(num)) && (nums.indexOf(num) === -1)){
re = new RegExp(`(?<=^.{${num}})\\S`,'g');
str = str.replace(re, e => e.toUpperCase());
nums.push(num);
i++;
}
}
console.log(str)
خدایش تا اینجا خیلی وقتم پرید حس نوشتن دیگه بقیه نیست (سوالات یه کم سرچ و فشار بیاری حل میشن)
خواستی بیا تگلرام
تلگرام
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟