Javascript 函数测试每个数组并返回数组中的所有内容

标签 javascript arrays function return

大家好,感谢您的帮助。

您好,游戏引擎中有上下文,我想知道是否存在返回每个数组的简单方法?例如:[真、真、假、假] 此处的代码片段使阅读起来更加简单明了,但与我需要做的非常相似。

 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/

相关文章:

R从ctree(partykit)中提取内部节点信息和拆分

PHP:函数参数的动态默认值

c++ - 函数返回一个由 vector ​​组成的元组

javascript - 有人知道如何修复此错误 : Can't call setState (or forceUpdate) on an unmounted component. ...?

javascript - 使用 CSSTransitionGroup 和 React-Router v6 动画路由过渡

c - 根据 int 对结构数组进行排序

javascript - 将数组拆分为 100 个 Javascript 的多个字符串

java - 用于拆分字符串以获取运算符的正则表达式

javascript - 使用 GruntJS 将 CSS 和 JS 文件嵌入到 HTML 中?

javascript - 如何为输入文本框添加事件处理程序