Closed. This question needs debugging details。它当前不接受答案。
                        
                    
                
            
        
            
        
                
                    
                
            
                
                    想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                
                    9个月前关闭。
            
        

    

我已附上图片:
javascript - 如何使用javascript过滤值?-LMLPHP

从上面的图像中,我必须在receive_id_1,receiver_id_2,sender_id的任何位置(但一起)过滤此类数据“ 1565158223”和“ 4”。

我想删除其他包含“ 3”,“ 1”等的数据。

我想要一个具有最少代码和最少循环的解决方案,因为我得到的记录太多。

我可以检查条件,例如(receiver_id_1 ==“ 1565158223” AND“ sender_id” ==“ 4”)OR(receiver_id_2 ==“ 1565158223” AND“ sender_id” ==“ 4”)OR(receiver_id_2 ==“ 1565158223” AND “ receiver_id_1” ==“ 4”)一样明智。

但是我不想在这里写下几个条件。

请任何人帮助我解决它。

最佳答案

如果可以使用es6的功能,请尝试以下操作(我们假设您的数组为items):

filtered_items = items.filter(item =>
        [1565158223,4].indexOf(parseInt(item['receiver_id_1'])) > -1 &&
        [1565158223, 4].indexOf(parseInt(item['receiver_id_2'])) > -1 &&
        [1565158223, 4].indexOf(parseInt(item['sender_id'])) > -1
        )


请注意,它不会更改原点items,只有filtered_items是您最终过滤的项目。

10-06 15:39