我想在现有数组的基础上创建一个数组,以下是我试过的代码
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"]]
就像单阵列一样,有#34;再见&#34; name我在resultArray中需要0值
答案 0 :(得分:1)
列出的输出是包含数组的数组。为此,您需要将数组而不是单个值推送到数组中。 E.g:
resultArray.push(["0", "1"]);
// Note ---------^--------^
或
resultArray.push(["1", "0"]);
// Note ---------^--------^
酌情。每个人都将带有条目的数组推入resultArray
,而不是将离散的条目推入其中。
另请注意,您在shortArray
中检查错误的值。你应该检查索引1,而不是0:
if (shortArray[k][1])
// ---------------^
答案 1 :(得分:1)
如果您想从shortArray获取类似的表单,但将所有值更改为'Bye'
到'1'
,将其他值更改为'0'
,则可以使用map:< / p>
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);