从js中另一个数组中的数组中查找元素的最佳方法是什么?

时间:2020-03-09 09:04:30

标签: javascript arrays performance

我有一个函数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个元素执行相同的操作

2 个答案:

答案 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))
    }