Javascript JS–如何使用字符串中的对象等构建数组的动态嵌套对象
这是一个不错的晚间项目,但实际上我有些头疼 我所需要的只是一个类似以下示例的函数:Javascript JS–如何使用字符串中的对象等构建数组的动态嵌套对象,javascript,Javascript,这是一个不错的晚间项目,但实际上我有些头疼 我所需要的只是一个类似以下示例的函数: result = set("itemCategories[0].items[0].name", "Test") 应返回: { itemCategories: [ { items: [ {name: "Test"} ] } }] …对于给定的属性itemCategories[1]。项[2]。请将此结果命名为: { itemCategories: [ null, { ite
result = set("itemCategories[0].items[0].name", "Test")
应返回:
{ itemCategories: [
{
items: [ {name: "Test"} ]
}
}]
…对于给定的属性itemCategories[1]。项[2]。请将此结果命名为:
{ itemCategories: [
null,
{
items: [
null,
null,
{name: "Test"}
]
}
}]
使用:
如果您询问的是香草JavaScript集方法,那么您可以这样做
/* this is what you are trying to get.
{ itemCategories: [
{
items: [ {name: "Test"} ]
}
}]
*/
var mySet = new Set(); // your set object.
创建数据编号、文本、字符串、对象、数组、空
ver data1 = 365;
ver data2 = 'Dragonfly';
ver data3 = {name: 'Bobby', age: 20000, job: 'dj'};
然后,您只需使用add方法添加到该集合中
mySet.add(data1);
mySet.add(data2);
mySet.add(data3);
所以为了得到你想要的,你可以写下这个
var itms = {items: [{name: 'test'}]};
mySet.add(itms);
集合的优点是它像一个数组。所以你可以用forEach
mySet.forEach( function(val){
console.log(val); // gets all your data.
});
您甚至可以使用has方法检查数据中是否存在值
mySet.has(365); // true
mySet.has(36500000); as false
您应该能够适应这样做。为什么需要传递字符串?为什么不直接执行itemCategories[0]。items[0]。name=Test?@Shard该字符串是从另一个系统给定的
mySet.has(365); // true
mySet.has(36500000); as false