📅  最后修改于: 2023-12-03 15:32:44.877000             🧑  作者: Mango
_.sortedIndexBy()
方法是 Lodash 库中的一个工具函数,用于在一个已排序的数组中插入一个元素,并保持数组的升序或降序排列状态。该方法通过迭代通过给定函数转换每个元素,返回一个插入新元素的位置索引值。
_.sortedIndexBy(array, value, [iteratee=_.identity]);
array
(Array): 需要插入新元素的已排序数组。value
(Any): 需要插入的元素。[iteratee=_.identity]
(Function): 每个元素进行迭代的函数。(Number): 插入新元素的位置索引值。
const _ = require('lodash');
let arr = [{
name: 'Adam Smith',
age: 35
},
{
name: 'John Doe',
age: 20
},
{
name: 'John Smith',
age: 45
},
];
const age = 25;
const result = _.sortedIndexBy(arr, { age }, 'age');
console.log(result); // 1
如上代码所示,我们创建了一个包含多个人员信息的数组 arr
。使用 _.sortedIndexBy()
方法,在数组中插入一个新元素,并保持数组按照年龄升序排列。在这个例子中,我们希望将一个新元素 { age: 25 }
插入到数组中,并按照年龄升序排列。因此,我们把 iteratee
函数设置为 'age'
,该方法会检索年龄属性,并返回需要插入新元素的位置索引值。
_.sortedIndexBy()
方法是 Lodash 库中的一个实用函数,通过给定函数转换每个元素,返回需要插入新元素的位置索引值。在许多情况下,我们需要将数组中的元素按照指定排序规则排列,并插入新元素。使用该方法,你可以轻松地保持数组按照指定规则排序,并插入新元素。