我写了下面的代码来回答这个问题:
编写一个函数justCoolStuff(),该函数接收两个字符串数组,并使用内置的.filter()方法返回一个数组,其中包含两个数组中都存在的项。
我想用循环而不是includes()数组方法来解决这个问题。我的思路对吗?代码返回一个用空数组填充的空数组。
const justCoolStuff = (arrOne,arrTwo) => {
const sharedWord = [];
for (i = 0; i < arrOne.length; i++) {
for (j = 0; j < arrTwo.length; j++) {
sharedWord.push(arrOne.filter(arr => arrOne[i] === arrTwo[j]));
}
}
return sharedWord;
};
const coolStuff = ['gameboys', 'skateboards', 'backwards hats', 'fruit-by-the-foot', 'pogs', 'my room', 'temporary tattoos'];
const myStuff = [ 'rules', 'fruit-by-the-foot', 'wedgies', 'sweaters', 'skateboards', 'family-night', 'my room', 'braces', 'the information superhighway'];
console.log(justCoolStuff(myStuff, coolStuff))
// Should print [ 'fruit-by-the-foot', 'skateboards', 'my room' ]
另外,有没有一种方法可以使用回调函数正确地编写它,使它更容易理解/阅读?
3条答案
按热度按时间gmxoilav1#
你的思路不对。
7lrncoxx2#
下面的演示显示了如何使用**
Array#filter
**和Array#includes
(或Array#indexOf
):6yt4nkrj3#
无阵列功能的解决方案