这是我的一些代码:
var fashion = [];
/* LEVEL 1 CATEGORIES */
fashion.push({ level1 : 'Mens', inner:[] });
fashion.push({ level1 : 'Womens', inner:[] });
我尝试将值推送到inner
数组,仅适用于Mens
类别。
我可以写:
/* LEVEL 2 CATEGORIES */
fashion[0].inner.push({ level2 : 'Shoes' });
fashion[0].inner.push({ level2 : 'Accessories'});
但我希望将目标不是指数0 ,而是通过“男性”值。 有没有办法做到这一点? 所以它变成了:
fashion['Mens'].inner.push({ level2 : 'Shoes'});
但是这种语法错了。
答案 0 :(得分:1)
您的代码中没有jQuery对象。 jQuery对象是jQuery构造函数($()
)返回的对象。你有一个简单的JavaScript对象数组。要过滤数组元素,可以使用Array.prototype.filter
方法:
fashion.filter(function(el) {
return el.level1 === 'Mens';
})[0].inner.push({ level2 : 'Shoes' });
filter
返回匹配元素的数组。因此,您应该遍历返回的数组(使用Array.prototype.forEach
方法)或使用括号表示法通过索引获取目标对象。应该注意的是filter
将返回一个没有匹配元素的空数组,因此在使用括号表示法之前最好检查返回数组的length
属性。
答案 1 :(得分:0)
你可以使用jquery每个循环
$.each(fashion, function( index, value ) {
if(value.level1 === 'Mens') { // specify your condition
value.inner.push({ level2 : 'Shoes' });
// your code to push value
}
});
答案 2 :(得分:0)
使用javascript curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://laravel.dev/users
循环。
for
检查DEMO
答案 3 :(得分:0)
另一个简单的解决方案是将时尚和内心改变为对象:
var fashion = {};
/* LEVEL 1 CATEGORIES */
fashion.Mens.inner = {};
fashion.Womens.inner = {};
/* LEVEL 2 CATEGORIES */
fashion.Mens.inner.Shoes = [];
fashion.Mens.inner.Accessories = [];