홈>
자바 스크립트의 키로 필터링하고 싶습니다.
ID를 전달하면 ajax 함수가 있습니다.
차례로 성공.
obj1
의 모든 결과를 결합하고 싶습니다
단일 객체로 푸시합니다.
자바 스크립트에서 다음을 수행하는 방법
key
예상 출력 :
var id =["trans", "fund"]
setTimeout(()=>{
id.map((e)=>this.static(e))
}, 2000)
static(id){
var li = $.ajax({
url: "/en",
method: 'get',
global: false,
async: false,
data: {
providers: id
},
success: function (data) {
return data;
}
}).responseText;
var obj1=data; //I need to combine and store data in expected output format
}
//on first call
var obj1={
country: "SG",
trans: [{
rate: 20,
members: 100
}]
}
//on second call
var obj1={
country: "TH",
fund: [{
rate: 20,
members: 100
}]
}
var result ={
trans: [{
rate: 20,
members: 100
}],
fund: [{
rate: 20,
members: 100
}]
}
- 답변 # 1
- 답변 # 2
이와 같은 일을 시도하십시오. 나는 당신의 키가 고정되어 있다고 가정합니다. 데모 링크를 클릭하십시오.
var output = {}; var id = ["trans", "fund"] //on first call var obj1 = { country: "SG", trans: [{ rate: 20, members: 100 }] } //on second call var obj2 = { country: "TH", fund: [{ rate: 20, members: 100 }] } function getObj(selectedId) { console.log(id); // global variable. if(!id) return; id.forEach(x => { let obj1Key = obj1[x]; if (obj1Key) output[x] = obj1Key; let obj2Key = obj2[x]; if (obj2Key) output[x] = obj2Key; }) console.log('output object', output); console.log('JSON:', JSON.stringify(output)); }
- 답변 # 3
아래와 같이 시도하면 결과에 이미 값이있는 경우 값이 병합됩니다
// var id =["trans", "fund"]; var result = {}; function getObj(obj){ id.map(val => { if(result[val]) { result[val] = [...result[val], ...obj[val]]} else result[val] = obj[val] }) } //on first call var obj1={ country: "SG", trans: [{ rate: 20, members: 100 }] } getObj(obj1) /* { trans: [{ rate: 20, members: 100 }] } */ //on second call var obj1={ country: "TH", fund: [{ rate: 20, members: 100 }] } getObj(obj2) /* { trans: [{ rate: 20, members: 100 }], fund: [{ rate: 20, members: 100 }] } */
관련 자료
- Javascript 필터 기능이 예상대로 작동하지 않습니다
- 잘못된 비교를 필터링하지 않는 JavaScript 필터
- sorting - 자바 스크립트 필터 및 정렬 값
- html - JavaScript를 사용하여 xml 파일을 필터링하는 방법
- 필터 메서드를 사용하여 JavaScript 배열에서 특정 요소를 가져 오려면 어떻게해야합니까?
- 세 가지 다른 목록을 필터링하는 자바 스크립트 기능
- javascript filter는 첫 번째 배열 항목과 만 일치합니다
- javascript - 지도에서 키를 찾을 수 없습니다
- 자바 스크립트 필터/HTML 목록 검색
- Javascript es6에서 객체 배열을 필터링하는 방법
- JavaScript 배열에 조건부로 필터를 포함하는 방법
- 단일 값으로도 작동하도록 배열의 값으로 자바 스크립트의 중첩 배열을 필터링하는 방법은 무엇입니까?
- 배열 속성의 하위 집합 만 포함하는 객체로 자바 스크립트 배열을 필터링합니다
관련 질문
- JavaScript : 사용자가 특정 단어를 입력하는지 확인한 후 URL 또는 다른 URL로 리디렉션 할 수 있습니까?
- JavaScript에서 혼합 된 의류 크기의 배열 분류
- javascript : 키 이름이있는 배열 키 값 읽기
- JavaScript가 값을 가져 오지 않습니다
- javascript : HTML을 가져 오는 방법 jQuery /Ajax를 사용하여 PHP 변수를 선택하십시오.
- javascript : 특정 값에 대한 내 객체의 그룹 배열 -자바 스크립트
- JavaScript 배열을 반복하고 해당 요소를 키로 키로 추가하는 방법은 무엇입니까?
- javascript : 정관 JS를 바닐라 jQuery에 맞춤 설정으로 만들기 위해 jQuery
- javascript : 프로그래밍 방식으로 jQuery로 확인란을 클릭하는 방법은 무엇입니까?
- JavaScript에서 HTML 요소 객체를 복제 할 수 있습니까?
이것을 시도하십시오 :