首页 > 解决方案 > javascript:当键模式被另一个数组保存时,如何为多维数组赋值

问题描述

我想创建一个 js 函数,它接收三个参数“(数据treeArrayline)”并返回修改后的数据变量

data: is Multi-dimensional Array

例如:

var data = [ [ 'string', 'string' ,['string','string','string']],[ 'string', 'string' ],'string' ];  

另一种是

treeArray: is Single dimensional Array

例如:

var treeArray = [0,1,2]; 

接下来是

line: is String

例如:

'嗨,我是字符串'

[为了更好地理解,请找到随附的接收数据变量和返回数据变量的屏幕截图:(其中 Line 变量放置在 treeArray 的引用上的 data 变量中,在这种情况下,treeArray 是[0,1,2]。所以 line变量以这种方式放置在变量数据中,

data[0][1][2]="Hi, I m string"

)

考虑“start_data”图像,其中要求将线数组“Hi,I m string”中的数据放入当前不存在的第一个数组的第二个位置内的第三个元素。

所以我需要一个 JS 函数,它在第一个数组的第二个位置创建第三个元素并放置数据“Hi,I m string”,类似于“final_data”图像。] ImageAttached

标签: javascriptarraysmultidimensional-array

解决方案


尝试这个

function modifiedData(data, treeArray, line) {
    var dataToBeModified = data;
    for (var i = 0; i < treeArray.length - 1; i++) {
        dataToBeModified = dataToBeModified[treeArray[i]]
    }

    dataToBeModified[treeArray[treeArray.length-1]] = line;

}


var data = [ [ 'string', ['string', 'String'] ,['string','string','string']],[ 'string', 'string' ],'string' ];  
modifiedData(data, [0,1,2], 'Intekhab');
data;

在此处输入图像描述


推荐阅读