Javascript 创建数组的动态哈希
我不熟悉javascript和jquery,所以请耐心听我说。我需要用下面的结构创建数组的动态散列Javascript 创建数组的动态哈希,javascript,jquery,Javascript,Jquery,我不熟悉javascript和jquery,所以请耐心听我说。我需要用下面的结构创建数组的动态散列 { "cricket_fields": ["aniket", "shivam" ], "soccer_fields": ["tiwari", "sandeep", "abhijeet" ] "football_fields": ["varun", "shikhar","naveen","sudheer","apaar"], } 我的代码的问题是 var fields
{
"cricket_fields": ["aniket", "shivam" ],
"soccer_fields": ["tiwari", "sandeep", "abhijeet" ]
"football_fields": ["varun", "shikhar","naveen","sudheer","apaar"],
}
我的代码的问题是
var fields = {};
$.each( $(BUILDER.selected_field_items), function(key,value ){
fields[$(this).data('group')] = [$(this).data('label')]
});
$(BUILDER.selected_field_items) =
[div.field_items, div.field_items, div.field_items, div.field_items, div.field_items, div.field_items, div.field_items, div.field_items, div.field_items, div.field_items, div.field_items, div.field_items, prevObject: n.fn.init(1), context: document, selector: "#selected_fields_container div.field_items"]
当在这个对象上迭代时,我会找到带有($(this.data('group'))的键和带有$(this.data('label')的值
div.field\u项目=
“Aniket+”
我已经显示了特定div.fields\u项的数据我不知道$(BUILDER.selected\u fields\u项)
是什么,但这应该可以实现您的目标:
if (key in fields) {
// push `value` into the array if the key is found
fields[key].push(value)
} else {
// create an array with the first index set to `value` and set it to fields[key]
fields[key] = [value]
}
你现在面临什么问题?什么是
$(生成器.选定的\u字段\u项目)
?在我们知道您在$(BUILDER.selected\u field\u items)
中拥有什么以及您当前获得的输出之前,我们无法帮助您您您可以假设我正在获得如上所述的密钥。在输出中,我只得到最后一个键和值。我没有得到上面显示的预期结果tryfields[key][]=arr.push(value)代码>请注意,array.push返回新的长度,而不是元素。所以fields[key]
将保持index+1
基本生命-让我试试看
if (key in fields) {
// push `value` into the array if the key is found
fields[key].push(value)
} else {
// create an array with the first index set to `value` and set it to fields[key]
fields[key] = [value]
}