Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何基于数组构建自定义对象选择器_Javascript_Angularjs - Fatal编程技术网

Javascript 如何基于数组构建自定义对象选择器

Javascript 如何基于数组构建自定义对象选择器,javascript,angularjs,Javascript,Angularjs,我有一个这样的数组,它跟踪父对象,就像这样: var object = { 'Shirt': { 'Color':'Blue', 'Size':'Large' }, 'Pants': { 'Color':'White', 'Size':'Medium', } } var objectPath = ['Shirt', 'Color']; 我正在写一个活动对象操纵类型的东西,并跟踪它们在哪个对象上。该数组如下所示: var object = { '

我有一个这样的数组,它跟踪父对象,就像这样:

var object = {
 'Shirt': {
    'Color':'Blue',
    'Size':'Large'
  },
  'Pants': {
    'Color':'White',
    'Size':'Medium',
  }
}
var objectPath = ['Shirt', 'Color'];
我正在写一个活动对象操纵类型的东西,并跟踪它们在哪个对象上。该数组如下所示:

var object = {
 'Shirt': {
    'Color':'Blue',
    'Size':'Large'
  },
  'Pants': {
    'Color':'White',
    'Size':'Medium',
  }
}
var objectPath = ['Shirt', 'Color'];
现在我需要使用这个数组来创建一个选择器,它允许我操作对象路径中的数据,最终得到类似这样的结果

selector = object['Shirt']['Color'];
我可以这样做:
selector='Yellow'
,它将更改对象中相应的选择

我尝试了此操作,但无法将数组转换为选择器:

objectPath.forEach(function(path, i) {
  selector += '[path]';
});
我知道我正在创建一个新字符串,但我不知道如何使用eval或类似的wierd来完成它。

您可以在每个“路径”迭代中获得下一个嵌套级别:

const数据={
一:{
二:{
三:{
四:“五”
}
}
}
}
常量路径=['1','2','3','4']
常量值=路径减少((a,v)=>a[v],数据);
console.log(value)
您可以在每个“路径”迭代中获得下一个嵌套级别:

const数据={
一:{
二:{
三:{
四:“五”
}
}
}
}
常量路径=['1','2','3','4']
常量值=路径减少((a,v)=>a[v],数据);
console.log(值)
如果要操纵原始对象,则需要构建路径,直到生成最终属性,然后将该属性设置为新值

如果要操纵原始对象,则需要构建路径,直到生成最终属性,然后将该属性设置为新值