[英]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.