我有一个函数buildList,参数中有一个数字数组。 我也有11个数字元素,我想知道这些元素是否存在于数组中,如果一个元素不存在,则将其推入另一个数组中。
实际上看起来像这样:
public static buildList(numbers[]) {
const newArray= [];
if (numbers.find(element => element === ELEMENT_ONE) === undefined ) {
newArray.push(ELEMENT_ONE);
}
if (numbers.find(element => element === ELEMENT_TWO) === undefined ) {
newArray.push(ELEMENT_TWO);
}
....
}
我目前的直觉是用11个元素创建一个新数组,并为每个元素做一个,但是我不确定性能会更好。 有什么办法可以改善此代码?因为我对11个元素执行相同的操作
答案 0 :(得分:2)
function buildList(numbers) {
let newArray = [];
elevenElements = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
// Use this logic to filter elements.
newArray = elevenElements.filter(d => numbers.some(y => y === d))
return newArray;
}
const result=buildList([1, 8, 9]);
console.log(result)
答案 1 :(得分:1)
public static buildList(numbers[]) {
const newArray = [];
elevenElements = [1,2,3,4,5,6,7,8,9,10,11]
// Use this logic to filter elements.
newArray = elevenElements.filter(d => !numbers.includes(d))
}