javascript - 关于js数组排序的问题
大家讲道理
大家讲道理 2017-04-11 12:58:40
[JavaScript讨论组]

如何将 data 按照 arr 的顺序,将他排序,

其中 arr 是 data 的 id

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(3)
阿神
var data = [{
    name: 'xxx',
    id: '123'
}, {
    name: 'xxx',
    id: '456'
}, {
    name: 'xxx',
    id: 'abc'
}]
var arr = ['123', 'abc', '456']

var result = arr.reduce(function(res, item) {
    var finditem = data.find(function(dataItem) {
        return dataItem.id === item;
    });
    res.push(JSON.parse(JSON.stringify(finditem)));
    return res
}, [])
console.log(result)
阿神
var data = [
  {name:'xxx',id:'123'},
  {name:'xxx',id:'456'},
  {name:'xxx',id:'abc'}
]
var arr = ['123','abc','456']
var newData = []
for(i=0;i<arr.length;i++){
  for(j=0;j<arr.length;j++){
    if(arr[i] == data[j].id){
      newData.push(data[j])
    }
  }
}
ringa_lee
data.sort(function(v1,v2){
  return arr.indexOf(v1.id)-arr.indexOf(v2.id);
});
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号