[英]JavaScript: Push Array with multiple values on same index
我有一个数组,可以存储一些像这样的值:
array[0] = "string", "string"
array[1] = "string", "string"
array[2] = "string", "string"
array[3] = "string"
如您所见,有时我在相同的索引上有2个值,但有时却没有。 然后我需要将这些值推到另一个数组,一个值一个。
我不能使用这个:
for(var i= 0; i< 4 ; i++){
newarray.push(array[i][0]);
newarray.push(array[i][1]);
}
否则我会推空白值(我猜)。
如何检查该索引上是否有2个值或一个值,以便可以使用其他圆圈?
谢谢!
当您这样做时,您的代码可能无法按预期工作:
array[0] = "a", "b", "c"
它将仅将"a"
分配给array[0]
并返回"c"
。 要为另一个数组分配这些值,您应该使用以下方法:
array[0] = ["a", "b", "c"]
为了保持结构一致性,如果我在数组中只有一个元素,我也会使用数组结构。
array[1] = ["a"]
使用此方法,您可以遍历数组,然后遍历嵌套数组以获取其值。
for (var i = 0; i < array.length; i++) {
for (var j = 0; j < array[i].length; j++) {
newarray.push(array[i][j]);
}
}
小提琴: http : //jsfiddle.net/nDhP5/
如何检查该索引上是否有2个值或一个值,以便可以使用其他cicle?
假设您要一次将多个值存储在数组中,则可以检查包含这些值的数组的长度。 这样,您可以查看是否具有1个或2个或更多值。
if (array[i].length == 1) { // you have 1 value }
if (array[i].length == 2) { // you have 2 values }
你可以这样
var Rdata = [];
var temp_ray = ["v1","v2","v3"];
Rdata.push(temp_ray);
var Rlen = Rdata.length;
console.log('Rdata length '+Rlen); // 1
JsFiddle :: Jsbin演示
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.