javascript - 比较数组并对具有条件的数组列表进行排序

标签 javascript arrays sorting

    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这里。但是 for 循环也可以。

更正了此处的大量语法错误。将您的 MyValue 数组转换为对象而不是带键的数组(不起作用)。

修复了 ListValue 数组。

关于javascript - 比较数组并对具有条件的数组列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28944111/

相关文章:

c - 按照c中另一个数组元素的相对顺序对数组进行排序

javascript - 如何正确地反跳ajax请求

javascript - 在 Javascript 变量中存储图像?

python - Python 迭代矩阵

java - 编写整数数组的递归排序算法

sql - 另一个复杂的 MySQL 排序

javascript - Cordova 防止 webview 拖拽字段焦点?

javascript - 找不到 Heroku Node 应用程序 404,不加载前端 js 文件或 css

javascript - 使用 lodash 在 javascript 中查找两组数据之间的匹配

python - Python 中对象是如何排序的