Массивы, поиск в массиве
Добрый вечер! Помогите пожалуйста вот с такой задачей:В скрипте первоначально задайте произвольный массив строк (или чисел, если это указано в задании). Результаты выполнения скрипта выведите функцией console.log.
В массиве найти все элементы, начинающиеся на "А" и занести их в другой массив. Я попыталась это сделать с помощью startsWith , но неверно! Может быть нужно перебрать массив и преобразовать каждый элемент массива в строку, а потом искать первую букву? вот не могу сообразить как перевести в строку каждый элемент массива |
function filterByA(arr) { return arr.filter(function(item) { return item != null && item.toString().charAt(0).toLowerCase() === 'a'; }); } console.log( filterByA(['apple', 'banana', 'orange', 'avocado', 'cheese']) ); |
ElenaAS,
<script> var arr = ["A1", "A2", "B5"]; arr = arr.filter(function(str) { return str.startsWith("A") }) document.write(arr) </script> |
преподаватель сказал и без функции
|
function filterByA(arr) { var res = []; for(var i = 0, item; i !== arr.length; i++) { item = arr[i]; if(item != null && item.toString().charAt(0).toLowerCase() === 'a') { res.push(item); } } return res; } console.log( filterByA(['apple', 'banana', 'orange', 'avocado', 'cheese']) ); const filterByA = arr => { const res = []; for(let item of arr) { if(item != null && item.toString().startsWith('A')) { res.push(item); } } return res; } console.log( filterByA(['Apple', 'Banana', 'Orange', 'Avocado', 'Cheese']) ); const arrayStartsWith = by => arr => { const res = []; for(let item of arr) { if(item != null && item.toString().startsWith(by)) { res.push(item); } } return res; }; const filterByA = arrayStartsWith('A'); const filterByB = arrayStartsWith('B'); let testArr = ['Apple', 'Banana', 'Orange', 'Avocado', 'Cheese', 'Black Chocolate']; console.log( filterByA(testArr) ); console.log( filterByB(testArr) ); |
Простите ,функцию startsWith не нужно, с ней я и сама сделала,здесь нужен другой какой то способ,более простой с помощью перебора массива
|
const filterByA = arr => { const res = []; for(let item of arr) { if(item != null && item.toString().charAt(0) === 'A') { res.push(item); } } return res; } console.log( filterByA(['Apple', 'Banana', 'Orange', 'Avocado', 'Cheese']) ); const arrayStartsWith = by => arr => { const res = []; for(let item of arr) { if(item != null && item.toString().charAt(0) === by) { res.push(item); } } return res; }; const filterByA = arrayStartsWith('A'); const filterByB = arrayStartsWith('B'); let testArr = ['Apple', 'Banana', 'Orange', 'Avocado', 'Cheese', 'Black Chocolate']; console.log( filterByA(testArr) ); console.log( filterByB(testArr) ); |
ruslan_mart,
А зачем toString() ? Про запас - если вдруг числа появятся? |
Цитата:
Цитата:
|
рони,
Пардон, проглядел. |
Часовой пояс GMT +3, время: 06:12. |