Массивы, поиск в массиве
Добрый вечер! Помогите пожалуйста вот с такой задачей:В скрипте первоначально задайте произвольный массив строк (или чисел, если это указано в задании). Результаты выполнения скрипта выведите функцией 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, время: 11:30. |