如何使用lodash按对象name字段的字符串长度对对象数组进行排序
实现方案
你可以直接使用lodash的_.sortBy方法完成需求,该方法支持传入自定义迭代函数生成排序依据的维度,只需要在迭代函数中返回每个对象name字段的字符串长度即可,默认是升序排列,正好匹配你的要求。
示例代码
const _ = require('lodash'); // 原始输入数组 const inputArr = [ { "_id": 10, "name": "AAAAAA" }, { "_id": 11, "name": "AA" }, { "_id": 12, "name": "AAAA" }, { "_id": 13, "name": "A" }, { "_id": 14, "name": "AAAAAAAA" } ]; // 按name字段长度升序排序,也可以简写成 _.sortBy(inputArr, 'name.length') const sortedResult = _.sortBy(inputArr, item => item.name.length);
补充说明
如果需要调整为降序排序,可以使用_.orderBy方法显式指定排序方向:
// 按name字段长度降序排序 const sortedDescResult = _.orderBy(inputArr, item => item.name.length, 'desc');
内容的提问来源于stack exchange,提问作者Nick
相关产品推荐
相关产品推荐

