2017-03-21 136 views
0

訪問嵌套元素我有兩個陣列由索引陣列

  • dataArr - 包含一個未知的數數組和對象的可能含有未知數量的數組和對象等的陣列。該陣列還可以包含在各級(覺得嵌套JSON)性能
  • indexArr - 更新長度包含密鑰訪問特定項目中dataArr

我怎麼會去檢索n的數組,添加和dataArr[indexArr[0]][indexArr[1]][indexArr[2]]...[indexArr[n]]中的值沒有創建新的數組?

感興趣的語言:javascriptpython

回答

0

創建在索引數組和原始數組中傳遞的遞歸函數。

function getItem(data, indexes) { 
    if (indexes.length) { 
     var index = indexes.shift(); 

     // if index exist - dive deeper, else return indicator that failed. 
     if (typeof data[index] !== 'undefined') { 
      return getItem(data[index], indexes); 
     } else { 
      return null; 
     } 
    } 

    // will be returned when no more indexes passed - last element reached 
    return data; 
} 

getItems(dataArr, [1, 5, 9, 'a', 'sum', 99]);