自定义对象排序规则

输入数据格式[{ },{ },{ },...]  输出数据格式[[ ],[ ],[ ],...]

*其中输出格式根据规则(key先后顺序)排序的

  sortFun = () => {
    const data = [{ age: 20, city: '北京', name: '小明' }, { name: '小红', city: '上海', age: 18 }];// 源数据
    const sortData = [];// 期望输出数据: [[小明,20,北京],[小红,18,上海]]
    const x = ['name', 'age', 'city'];// 匹配(根据key值先后排序)
    data.forEach((e) => {
      const xx = [];// 内层数组
      Object.entries(e).forEach((key) => { // key[0]是数据的键 key[1]是数据的值
        if (x.indexOf(key[0]) >= 0) { // 排除无匹配
          xx[x.indexOf(key[0])] = key[1];// 根据x的位置对应插入xx数组位置中
        }
      });
      sortData.push(xx);
    });
    console.log(sortData);
  }

拓展: 仅排序不更改数据格式思路是一样的

你可能感兴趣的:(web前端)