배열을 반복 한 다음 원하는 이름을 찾으면 항목을 삽입하는 것이 가장 간단합니다. 다음과 같이해야합니다.
function insertAtPoint(arr, item, searchTerm) {
for(var i = 0, len = arr.length; i<len; i++) {
if(arr[i].name === searchTerm) {
arr.splice(i, 0, item);
return; // we've already found what we're looking for, there's no need to iterate the rest of the array
}
}
}
그런 다음 다음과 같이 호출합니다.
insertAtPoint(arrayExample, {name: "Test3.0001", id: [3, 6]}, "Test3"); // I've fudged this object because your example was invalid JS
-------------------이 시도,
function insertItem(obj,searchTerm){
$.each(arrayExample,function(i,item){
if(item.name == searchTerm){
arrayExample.splice(i+1,0,obj);
return false;
}
});
}
insertItem({"name":"Test3.0001","id":[3,6]},"Test3");
깡깡이
-------------------접합 할 필요가 없습니다. 참조로 개체를 수정할 수 있습니다.
var modifyId = function(arr, idArr, term) {
arr.forEach(function(item){
if(item.name == term) {
item.id = idArr;
}
})
}
다음과 같이 함수를 호출 할 수 있습니다.
modifyId(arrayExample, [2,4,5], 'Test1')
출처
https://stackoverflow.com/questions/22050161