簡體   English   中英

將對象轉換為順序數組格式 - javascript?

[英]Converting Object to sequential array format - javascript?

我有以下對象結構

 var obj = {"0":"direct","1":"indirect","2":"dir","3":"indir"};

預期產出是:

result = [["direct","indirect"],["indirect","dir"],["dir","indir"]];

我嘗試過的:

    var result = [];
    var array = [];
    for(var key in obj){
          if(array.length <2) {
              array.push(obj[key]);
          }else{
              array =[];
              array.push(obj[key-1]);
           }

       if(array.length == 2){
            result.push(array);
       }
     }
   console.log(result);

我得到的輸出如下:

result = [["direct", "indirect"], ["indirect", "indir"]]

如果它們都是至少包含一個字符的字符串,那么您可以這樣做:

var obj = {"0":"direct","1":"indirect","2":"dir","3":"indir"};
var result = [];

for (var i = 1; obj[i]; i++) {
    result.push([obj[i-1], obj[i]]);
}

它從索引1開始,並推送數組中的當前和前一項。 只要值是真實的,它就會繼續,所以如果有一個空字符串,它就會停止。

如果可能存在需要包含的假值,則應首先計算屬性。

var obj = {"0":"direct","1":"indirect","2":"dir","3":"indir"};
var result = [];

var len = Object.keys(obj).length;

for (var i = 1; i < len; i++) {
    result.push([obj[i-1], obj[i]]);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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