제공된 숫자를 포함하는 숫자 값을 가진 개체를 반환합니다. 널리 지원되지 않습니다 새로운 .filter 기능을 사용하여
var objGroup = [
{ "color": "YELLOW", "number": "11,7,44,22" },
{ "color": "BLUE", "number": "8,20,9" },
{ "color": "GREEN", "number": "12,34,55" }
];
var found = findItem(objGroup, '11');
function findItem(array, value) {
for (var i = 0; i < array.length; i++) {
if (array[i].number.split(',').indexOf(value) >= 0) {
return objGroup[i];
}
}
}
if (found) {
alert(found.color);
}
http://jsfiddle.net/rVPu5/
대안 :
var found = objGroup.filter(function(item) {
if (item.number.split(',').indexOf('11') >= 0) {
return true;
}
return false;
});
if (found.length > 0) {
alert(found[0].color);
}
http://jsfiddle.net/rVPu5/2/
마지막으로 - JQuery와 버전 :
var found = $.map(objGroup, function(item) {
if (item.number.split(',').indexOf('11') >= 0) {
return item;
}
});
if (found.length > 0) {
alert(found[0].color);
}
http://jsfiddle.net/rVPu5/3/
더 자세히 설명해주십시오. number-property가 객체 또는 배열이 아닙니다. 숫자가 들어있는 문자열입니다. 그리고 코드에서 jQuery를 사용하지 않고 있습니까? – LeJared