比较数组并使用条件对数组列表进行排序

compare arrays and sort a list of arrays with a condition

本文关键字:数组 列表 排序 条件 比较      更新时间:2023-09-26
    MyValue = [name:"myValue", apple:3, banana:2];
    ListValue = [
        {name:"value1", apple:1, banana:2]},
        {name:"value2", apple:3, banana:2]},
        {name:"value2", apple:5, banana:1]},
        {name:"value4", apple:3, banana:3]},
        {name:"value5", apple:3, banana:5]}
        ]

你能帮我找到一个解决方案来对具有此条件的 NewListValue 进行排序吗:如果 MyValue 的每个水果都小于或等于每个 ListValue 数组的每个水果

我想得到这个结果:

NewListValue = [
{name:"value1", apple:1, banana:2]},
{name:"value2", apple:0, banana:1]}
]

非常感谢!

 MyValue = { "name": "myValue", "apple": 3, "banana": 2 };
    ListValue = [
        {name:"value1", apple:1, banana:2},
        {name:"value2", apple:3, banana:2},
        {name:"value2", apple:5, banana:1},
        {name:"value4", apple:3, banana:3},
        {name:"value5", apple:3, banana:5}
        ];
    
 
    var NewListValue = ListValue.filter(function(element){
       if (MyValue.apple >= element.apple &&  MyValue.banana >= element.banana )
         {
           return element;
         }
    
    });
document.body.innerHTML += JSON.stringify(NewListValue ); //demo code

我会在这里使用Array.prototype.filter。但是,对于循环也可以工作。

更正了这里的许多语法错误。将MyValue数组转换为对象,而不是带键的数组(不起作用)。

修复了ListValue数组。