我有一个数组存储了一些像这样的值:
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个值或一个值,所以我可以使用不同的圆圈?
谢谢!
答案 0 :(得分:1)
执行此操作时,您的代码可能无法正常工作:
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]);
}
}
答案 1 :(得分:0)
如何检查我在该索引上是否有2个值或一个值,所以我 可以使用不同的角色吗?
假设您的意思是在一个键的数组中存储多个值,您可以检查包含这些值的数组的长度。通过这种方式,您可以查看是否有1个或2个或更多值。
if (array[i].length == 1) { // you have 1 value }
if (array[i].length == 2) { // you have 2 values }
答案 2 :(得分:0)
你可以这样做
var Rdata = [];
var temp_ray = ["v1","v2","v3"];
Rdata.push(temp_ray);
var Rlen = Rdata.length;
console.log('Rdata length '+Rlen); // 1
JsFiddle :: Jsbin demo