gpt4 book ai didi

javascript - 如何根据起始字母过滤数组

转载 作者:行者123 更新时间:2023-11-28 14:14:36 25 4
gpt4 key购买 nike

我正在尝试根据第一个字母获取一个数组。但我的解决方案不起作用。这是repl链接:https://repl.it/@Huu_TruongTruon/ProbableSandyDistributeddatabase `

const firstLetter = (el, letter) => {
for (let i = 0; i < el.length; i++) {
if (el[i][0] === letter) {
return true
}
return false;
}
}

const filter = (array, letter, callback) => {
for (let i = 0; i < array.length; i++) {
var newArr = []
if (callback) {
newArr.push(array[i])
}
return newArr;
}
}

//uncomment below to test your work
const suppliesArray = ['pencils', 'brush', 'paint', 'clay', 'easel', 'crayons',
'acrylic', 'glue', 'paper', 'marble', 'water colors'
];
const projectLetter = 'p';
console.log(filter(suppliesArray, projectLetter, firstLetter));

此结果应记录['pencils', 'paint', 'paper']

最佳答案

函数可以像这样简单,使用 Array.prototype.filter()String.prototype.startsWith() :

const filter = (array, letter) => array.filter(s => s.startsWith(letter));
<小时/>

完整片段:

const filter = (array, letter) => array.filter(s => s.startsWith(letter));

const suppliesArray = ['pencils', 'brush', 'paint', 'clay', 'easel', 'crayons',
'acrylic', 'glue', 'paper', 'marble', 'water colors'];

const result = filter(suppliesArray, 'p');

console.log(result);

<小时/>

不使用原生filter()函数:

const filter = (array, letter) => array.reduce((a, s) => s.startsWith(letter) ? [...a, s] : a, []);

const suppliesArray = ['pencils', 'brush', 'paint', 'clay', 'easel', 'crayons',
'acrylic', 'glue', 'paper', 'marble', 'water colors'];

const result = filter(suppliesArray, 'p');

console.log(result);

关于javascript - 如何根据起始字母过滤数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58055241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com