0
点赞
收藏
分享

微信扫一扫

Js中 列表里字典排序问题

我又要给这样的列表,我想把出现"key3" 的字典放到列表的后边

const list = [  
  { key1: 'value1', key2: 'value2' },  

  { key1: 'value3', key2: 'value4' },  

  { key3: 'value5', key2: 'value6' },  
{ key4: 'value3', key2: 'value4' },  
];

JavaScript的数组方法filter()concat()来解决这个问题。filter()方法可以创建一个新数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。concat()方法用于合并两个或更多的数组。

const list = [  
  { key1: 'value1', key2: 'value2' },  
  { key1: 'value3', key2: 'value4' },  
  { key3: 'value5', key2: 'value6' },  
  { key4: 'value3', key2: 'value4' },  
];  
const specificKey = 'key3';  
  
let filteredList = list.filter(item => item.key3 === undefined);  // 过滤出没有 key3 的对象  
let restList = list.filter(item => item.key3 !== undefined);  // 过滤出有 key3 的对象  
  
filteredList.push(...restList);  // 将有 key3 的对象添加到没有 key3 的对象的后面  
  
console.log(filteredList);

这段代码首先将列表分为两个部分:一部分是包含特定键(在这里是key3)的字典,另一部分是不包含该键的字典。然后,使用push()方法将包含特定键的字典添加到不包含该键的字典后面。


举报

相关推荐

0 条评论