2017-03-21 108 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]);