这是一个不错的晚上项目,但实际上我有些头疼。
我需要的只是一个像这个例子的函数:
result = set("itemCategories[0].items[0].name", "Test")
应返回:
{ itemCategories: [
{
items: [ {name: "Test"} ]
}
}]
...如果是给定属性" itemCategories [1] .items [2] .name"结果如下:
{ itemCategories: [
null,
{
items: [
null,
null,
{name: "Test"}
]
}
}]
答案 0 :(得分:1)
使用lodash#set:
result = lodash.set({}, "itemCategories[0].items[0].name", "Test")
答案 1 :(得分:0)
如果您询问vanilla JavaScript Set方法,那么您可以这样做。
/* this is what you are trying to get.
{ itemCategories: [
{
items: [ {name: "Test"} ]
}
}]
*/
var mySet = new Set(); // your set object.
创建数据(数字,文本,字符串,对象,数组,null)。
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);
关于set的好处就像数组一样。所以你可以使用forEach。
mySet.forEach( function(val){
console.log(val); // gets all your data.
});
您甚至可以使用has方法检查数据中是否有值。
mySet.has(365); // true
mySet.has(36500000); as false