js如何让一个对象数组按照包含某个字符串进行排序
时间: 2023-10-17 22:05:02 浏览: 94
javascript 对象数组根据对象object key的值排序
可以使用`sort()`方法,结合自定义的比较函数来实现按照包含某个字符串进行排序。具体步骤如下:
1. 编写比较函数,该函数接收两个参数,分别表示要比较的两个数组元素。
2. 在比较函数中,使用`indexOf()`方法判断某个字符串是否包含目标字符串,返回相应的比较结果。
3. 调用`sort()`方法,并将比较函数作为参数传入,即可实现按照包含某个字符串进行排序。
示例代码如下:
```javascript
let arr = [
{ name: 'apple' },
{ name: 'banana' },
{ name: 'orange' },
{ name: 'pineapple' },
{ name: 'watermelon' }
];
// 自定义比较函数
function compare(a, b) {
if (a.name.indexOf('apple') !== -1) {
return -1;
} else if (b.name.indexOf('apple') !== -1) {
return 1;
} else {
return 0;
}
}
// 调用 sort() 方法
arr.sort(compare);
console.log(arr);
// Output: [
// { name: 'apple' },
// { name: 'pineapple' },
// { name: 'banana' },
// { name: 'orange' },
// { name: 'watermelon' }
// ]
```
以上代码将对象数组按照包含字符串`'apple'`进行排序,将包含该字符串的元素排在数组前面。
阅读全文