使用包括方法来获取从另一个阵列中的特定索引

问题描述 投票:0回答:3

嘿,我想使用的方法包括在foreach循环的元素在我的数字阵列与我的其他阵列controlList的帮助下复制最后,我想将它推到controlListApproved阵列

正如你在第64行我想看到,但它给了我假所有的时间

var moreNumbers=[];
var controlList=[0, 4, 7, 9];
var controlListApproved=[];

for (var i = 0; i < 30; i++) {
    moreNumbers[i]=Math.floor(Math.random()*(20-0))+0;
};
console.log(moreNumbers);

moreNumbers.forEach(function(item, index){

        console.log(moreNumbers.index=moreNumbers.includes(controlList));
    });
javascript
3个回答
1
投票

moreNumbers不具有.index财产。如果数组确实有一个.index财产没有比较在moreNumbers.index=<value>制成,这是一个任务。

controlListArray,不是数组的一个元素。

index回调.forEach()参数似乎没有必要来实现预期的结果。

if controlList .includes() item然后.push() itemcontrolListApproved

moreNumbers.forEach(function(item, index){
  if (controlList.includes(item)) {
    controlListApproved.push(item)
  }
});

0
投票

不知道我完全理解你想要做什么,但是这可能是你的答案:

var moreNumbers=[];
var controlList=[0, 4, 7, 9];

for (var i = 0; i < 30; i++) {
    moreNumbers[i]=Math.floor(Math.random()*(20-0))+0;
};
console.log(moreNumbers);

var controlListApproved = moreNumbers.filter(number => controlList.includes(number))
console.log(controlListApproved)


0
投票

事情出了问题:

  moreNumbers.index

等于

   moreNumbers["index"]

所以你实际上是试图访问一个命名的属性,而不是你可能要访问存储在index索引:

 moreNumbers[index]

现在,而不是检查阉controlList(这是数字数组)是moreNumbers内(这是数字数组,所以它不包含数字只是数字阵列),你可能想请检查是否item包括在controlList

 if(controlList.includes(item)) {
   //...
 }
© www.soinside.com 2019 - 2024. All rights reserved.