1
var formRenderData = [{
"type": "checkbox-group",
"label": "Checkbox Group",
"className": "checkbox-group",
"name": "checkbox-group-1479370460494",
"values": [{
"label": "Option 1",
"value": "option-1",
"selected": true
}, {
"label": "Option 2",
"value": "option-2"
}, {
"label": "Option 3",
"value": "option-3"
}]
}, {
"type": "paragraph",
"subtype": "p",
"label": "Paragraph",
"className": "paragraph"
}];
我正在使用grep來匹配對象。如何從json對象獲取匹配元素的索引?
var InputName = 'checkbox-group-1479370460494';
var InputType = 'checkbox-group';
var returnedIndex = $.grep(formRenderData, function(element, index){
if(((element.name == InputName) || (element.label == InputName)|| (element.name == InputName.substr(0,InputName.length - 2))) && element.type == InputType){
return index;
}
});
console.log(returnedIndex);
循環使用一些其他形式的,而不是'$ .grep()'? '$ .grep()'函數返回一個匹配項的數組。您可以使用'.map()'返回匹配的項目(s)並添加'index'屬性。順便說一句,在你的問題中沒有JSON,[沒有像「JSON對象」這樣的東西](http://benalman.com/news/2010/03/theres-no-such-thing-as-a- JSON /)。 – nnnnnn
我可以使用$ .map(formRenderData,function(element,index){ //做點什麼 }); –