簡體   English   中英

JavaScript:在同一索引上推送具有多個值的數組

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM