let arr=[
{
name: "蓝色",
spec: "颜色",
},
{
name: "少年",
spec: "适用人群",
},
{
name: "黑色",
spec: "颜色",
},
{
name: "年轻人",
spec: "适用人群",
},
{
name: "111",
spec: "规格a",
},
{
name: "222",
spec: "规格a",
},
{
name: "aaa",
spec: "规格aa",
},
{
name: "bbb",
spec: "规格aa",
},
]
arr.sort((a,b)=>{
if(a['spec']!=b['spec']){
return a['spec'].localeCompare(b['spec']);
}
})
console.log(arr)
随便,解释下:localeCompare是什么东西?
定义:用本地特定的顺序来比较两个字符串。
语法:stringObject.localeCompare(target)
参数:target —— 要以本地特定的顺序与 stringObject 进行比较的字符串。
返回值
1、如果 stringObject 小于 target, localeCompare() 返回小于 0 的数。
2、如果 stringObject 大于 target,localeCompare() 返回大于 0 的数。
3、如果两个字符串相等,localeCompare() 返回 0。