如何在javascript中使用map函数而不是for循环?

问题描述 投票:4回答:4

这是我的阵列:

var filteredData = [{ id: 1, phoneno: '91888888888', sender: 'test' },{ id: 2, phoneno: '9199999999999', sender: 'hel' }]

我用于循环

for (var i = 0; i < filteredData.length; i++) {
   if (filteredData[i].sender === test) {
       console.log('worked');
   }else{
       console.log('not worked');
   }
}

如何用地图做到这一点?在javascript而不是for循环。

javascript arrays nodes
4个回答
6
投票

正如评论中所提到的,forEach最好用在你的例子中。但是如果你坚持使用map,只需用forEach替换map,代码仍然有用。

var filteredData = [{ id: 1, phoneno: '918888888888', sender: 'test' },{ id: 2, phoneno: '918888888888', sender: 'hel' }];

filteredData.forEach(function(item){
   if (item.sender === test) {
       console.log('worked');
   }
   else {
       console.log('not worked');
   }
});

0
投票
filteredData.map(value => {
    if (value.sender === test) {
        console.log("worked");
    } else {
        console.log('not worked');
    }
});

-1
投票

通过使用underscore.js,

var filteredData = [{ id: 1, phoneno: '917418306474', sender: 'test' },{ id: 2, phoneno: '917338966917', sender: 'hel' }];

 _.map(filteredData, function(data){
   if (data.sender === test) {
    console.log('worked');
   }else {
    console.log('not worked');}
});

-2
投票
var filteredData = [{ id: 1, phoneno: '77777777777', sender: 'test' },{ id: 2, phoneno: '917338966917', sender: 'hel' }]
filteredData.map(filterDetails); 
function filterDetails(data) {  
    if(data.sender == 'test'){
     console.log('worked');
     }
     else{
     console.log('not worked');
     }
}
© www.soinside.com 2019 - 2024. All rights reserved.