2
할당 빈 배열을 반환 I가 다음 코드 I 제거하는 경우 빈 배열JS 필터 방법은 가변
를 반환
var test1 = [
{
id: 1
},
{
id: 2
},
{
id: 3
},
];
var test2 = [
{
id: 3,
text: 'some other text 3'
},
{
id: 2,
text: 'some other text 2'
}
];
// filter method
function getNewArray(val) {
test2.filter(function(val2){
if(val.id == val2.id){
return (val2.text);
}
});
}
var data1 = test1.filter(getNewArray);
console.log(data1);
"CONSOLE.LOG (DATA1)에"와 I 코드를 다음과 같이 수정하십시오.
function getNewArray(val) {
test2.filter(function(val2){
if(val.id == val2.id){
console.log(val2.text);
}
});
}
원하는 결과가 나옵니다.
왜 데이터 1이 비어 있습니까?
기능. 나는 이것이 당신의 문제를 해결할지는 모르지만, 당신이 원하는 것은'test2.filter (function (val2) {return val.id == val2.id;})'(또는 람다'test2.filter (val2 => val.id == val2.id)') – Aaron
당신이 얻고 자하는 것이 불투명합니다. 원하는 결과를 추가하십시오. –
필터는 새로운 배열을 반환하기 때문에 현재 배열을 변경하지 않습니다. 당신은 당신의 기능에서 아무것도 돌려주지 않습니다. – epascarello