大家好,感谢您的帮助。
您好,游戏引擎中有上下文,我想知道是否存在返回每个数组的简单方法?例如:[真、真、假、假] 此处的代码片段使阅读起来更加简单明了,但与我需要做的非常相似。
Gate1 = [];
Gate1 = [[3,4],[4,6]]; // [[ItemID,NbItem],[ItemID,NbItem]]
function check(ID, NEED, GVariable) {
for (var F=0; F<ID.length; F++) {
var Founds = [ID[F],NEED[F]];
if (Founds === GVariable[F]){
//return stop the loop, but i need to test all ID.length and return true or false in array it in array
return true;
}
else {return false;}
}
}
var Get = check([3,4,10,11],[4,6,8,7],Gate1);
console.log(Get); //need to be === Get[[true,true,false,false]]
alert("Gets= "+Get+'\n'+'But i want = [true,true,false,false]');
最佳答案
您可以使用哈希表并检查您需要的值。然后返回 Array#map
一个包含结果的数组。
我强烈建议将变量重命名为更常见的小写字母样式。
function check(ID, NEED, GVariable) {
var hash = Object.create(null);
GVariable.forEach(function (a) {
hash[a.join('|')] = true;
});
return ID.map(function (id, i) {
return hash[[id, NEED[i]].join('|')] || false;
});
}
var Gate1 = [[3, 4], [4, 6]], // [[ItemID,NbItem],[ItemID,NbItem]],
Get = check([3, 4, 10, 11], [4, 6, 8, 7], Gate1);
console.log(Get); // [true, true, false, false]
.as-console-wrapper { max-height: 100% !important; top: 0; }
关于Javascript 函数测试每个数组并返回数组中的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41206790/