假设我有一个像这样的数组:
let array = ["eid_x", "eid_x", "cid_x", "cid_x"]
我将如何对它进行排序,像这样?
let array = ["cid_x", "eid_x", "cid_x", "eid_x"]
原始数组是随机排列的,例如:eid, cid, cid, eid
。
有人知道如何像第二个数组那样对它进行排序吗?
答案 0 :(得分:3)
将项目拆分为两个数组,然后从循环中的两个数组(在本例中为Array#map)中的一个中获取一个项目。
let array = ["eid_x", "eid_x", "cid_x", "cid_x"]
let eid = array.filter(i => i == 'eid_x')
let cid = array.filter(i => i == 'cid_x')
let result = new Array(array.length).fill(null)
.map((i, idx) => idx % 2 == 0 ? cid.shift() : eid.shift())
console.log(result)