繁体   English   中英

如何使用javascript为if条件匹配数组中的对值

[英]How can I match pair values in array for if condition using javascript

我想在现有数组的基础上创建一个数组,以下是我尝试过的代码

var shortArray = new Array();
var resultArray = new Array();
shortArray = [
    ["Team 1", "Bye"],
    ["Team 2", "Bye"],
    ["Team 3", "Bye"],
    ["Team 4", "Team 5"]
]


for (var k = 0; k < shortArray.length; k++) {
    if (shortArray[k][0] == "Bye") {
        resultArray.push(0, 1);
    } else {
        resultArray.push(1, 0);
    }
}

我想要一个

resultArray=[["1","0"],["1","0"],["1","0"],["0","0"]]

就像在单个数组中,只要有“再见”名称,我就需要 resultArray 中的 0 值

您列出的输出是一个包含数组的数组。 为此,您将一个数组而不是单个值推送到您的数组中。 例如:

resultArray.push(["0", "1"]);
// Note ---------^--------^

或者

resultArray.push(["1", "0"]);
// Note ---------^--------^

作为适当的。 那些每个将带有条目的数组推送到resultArray ,而不是将离散条目推送到其中。

另请注意,您正在检查shortArray的错误值。 您应该检查索引 1,而不是 0:

if (shortArray[k][1])
// ---------------^

如果您想从 shortArray 获得类似的形式,但将所有等于'Bye'值更改为'1'并将其他值更改为'0' ,您可以使用map

 var shortArray= [["Team 1","Bye"],["Team 2","Bye"],["Team 3","Bye"],["Team 4","Team 5"]] // Loop through shortArray, and generate a new array base on each item's value in shorArray. var resultArray= shortArray.map(function(arr) { // Loop through arr to create a new array that, replace Bye to 0, other to 1. return arr.map(function(value) { return value === 'Bye' ? '0' : '1'; }); }); console.log(resultArray);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM