嘿,我想使用的方法包括在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));
});
moreNumbers
不具有.index
财产。如果数组确实有一个.index
财产没有比较在moreNumbers.index=<value>
制成,这是一个任务。
controlList
是Array
,不是数组的一个元素。
index
回调.forEach()
参数似乎没有必要来实现预期的结果。
if
controlList
.includes()
item
然后.push()
item
到controlListApproved
。
moreNumbers.forEach(function(item, index){
if (controlList.includes(item)) {
controlListApproved.push(item)
}
});
不知道我完全理解你想要做什么,但是这可能是你的答案:
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)
事情出了问题:
moreNumbers.index
等于
moreNumbers["index"]
所以你实际上是试图访问一个命名的属性,而不是你可能要访问存储在index
索引:
moreNumbers[index]
现在,而不是检查阉controlList
(这是数字数组)是moreNumbers
内(这是数字数组,所以它不包含数字只是数字阵列),你可能想请检查是否item
包括在controlList
:
if(controlList.includes(item)) {
//...
}