一个数组按照另一个数组的元素顺序排序

el/2023/6/3 17:19:58

arr1

arr2

arr1.sort((prev,next)=>{

    return arr2.indexOf(prev)-arr2.indexOf(next)

})

这是arr1按照arr2排序

延伸

// 一个数组按照另一个数组排序// 对象内的键值排序// 简单类型数组
let arr1 = [1, 2, 3, 4, 5]
let arr2 = [5, 3, 2, 4, 1]
arr1.sort((prev, next) => {return arr2.indexOf(prev) - arr2.indexOf(next)
})
console.log(arr1)// 复杂数组let arr3 = [{id: 1,name: 'fasfdads',age: 131},{id: 2,name: 'fasfdads',age: 131},{id: 3,name: 'fasfdads',age: 131},
]let arr4 = [{id: 3,hh: 'fasfdads',age: 131},{id: 2,hh: 'fasfdads',age: 131},{id: 1,hh: 'fasfdads',age: 131},
]arr3.sort((prev, next) => {return arr4.indexOf(prev.id) - arr4.indexOf(next.id)
//必须是id这种可以比较的才能弄。。。。,假如字符串这种就没作用
})
console.log(arr3)

/ 对象的属性怎么排序

let arrData = { "张三": 15, "李四": 30, "万系": 2, "是三": 3 };

let keysSorted = Object.keys(arrData).sort(function (a, b) { return arrData[b] - arrData[a] })   //排序健名

let newD = {}

for (let i = 0; i < keysSorted.length; i++) {

  newD[keysSorted[i]] = arrData[keysSorted[i]];

}

console.log(keysSorted, arrData, newD)

对象的长度

https://www.cnblogs.com/ranyonsue/p/8494440.html

http://www.ngui.cc/el/3419287.html

相关文章

echarts配置项学习笔记1

echarts的option中有许多配置项&#xff0c;而且配置项之间还可以在不同属性的下层中又使用 其中第一层有这些 option {title: {}, //标题legend: {}, //图例grid: {}, //直角坐标系内绘图网格xAxis: {}, //直角坐标系内绘图网格X轴yAxis: {}, //直角坐标系内绘图网格y轴pol…

关于浏览器多个标签页的cookie到底是不是独立的?

答:同一个域名.协议.端口号的话,打开控制台发现是一样的,不同的话,就不一样罗

2021-02-06

今天有些理解规范和设计模式的重要性了,想写一个函数,可以清除三个功能部分的东西,但实际上,不应该这样,应该涉及这部分的你才清除,而不是每次都影响别的功能部分,这样bug非常容易出,尽量保持有效合理拆分

vue组件name作用与keep-alive

vue组件写name的用处 https://www.cnblogs.com/likecn/p/12205987.html keep-alive的作用https://www.jianshu.com/p/1f76a90f1a82其实主要就是频繁切换的页面缓存起来,不每次都触发生命周期发请求 keep-alive的文章https://www.jianshu.com/p/9523bb439950

js序列化

序列化就是把参数变成这样 a3&b6&chhh

路由守卫 全局 路由 组件 执行的顺序

完整的导航解析流程 导航被触发。在失活的组件里调用 beforeRouteLeave 守卫。调用全局的 beforeEach 守卫。在重用的组件里调用 beforeRouteUpdate 守卫 (2.2)。在路由配置里调用 beforeEnter。解析异步路由组件。在被激活的组件里调用 beforeRouteEnter。调用全局的 beforeR…

data数据没有加载好,然后渲染就会报此种错

data数据没有加载好,然后渲染就会报此种错 但是如果用v-if控制数据加载好了才渲染,就不会有问题了,v-show不行,因为,vi-if是直接没有这个元素,v-show只是display :none 像平时用的多的loadding效果,然后loadidng结束,其实就是v-if这样弄一下, 还有一个东西是 [v-cloak]{displ…

域名与跨域

常说的跨域是指协议.域名.端口,有一个不一样就是跨域 那么域名指的是那一部分呢 指的是.com .cn .top等等那一部分 比如项目路径是 http://www.kirrito.top 但是项目中发的请求是 http://www.kirrito.top/keep/name8 这没有跨域 不要把keep当做域名的一部分了

‘sockjs-client‘ new的时候是否需要放入根路径

公司项目中,需要公众号聊天功能,要用到websocket,没有用原生的websocket,而是用的sockjs-clinet包,优点在此https://www.cnblogs.com/mmzuo-798/p/13032009.html 看了很多相关例子,但是基本都是 new的时候,传入的url参数是带根路径的,诸如 let socket new SockJS(http:/…