_.intersectionBy([arrays], [iteratee=_.identity])
這個方法相似
_.intersection
,區別是它接受一個iteratee
調用每個arrays
的每一個值以產生一個值,經過產生的值進行了比較。結果值是從第一數組中選擇。iteratee 會傳入一個參數:(value)。javascript_.intersectionBy([2.1, 1.2], [4.3, 2.4], Math.floor); // => [2.1] _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); // => [{ 'x': 1 }]
_.join(array, [separator=','])
將
array
中的全部元素轉換爲由separator
分隔的字符串。java_.join(['a', 'b', 'c'], '-'); // => 'a-b-c'
_.last(array)
獲取
array
中的最後一個元素。數組
_.lastIndexOf(array, value, [fromIndex=array.length-1])
這個方法相似 _
IndexOf
,區別是它是從右到左遍歷array
的元素。ide須要注意的是:沒有匹配值,返回
-1
。函數_.lastIndexOf([1, 2, 1, 2], 2, 2); // => 1 _.lastIndexOf([1, 2, 1, 2], 3, 2); // => -1
_.nth(array, [n=0])
獲取
array
數組的第n個元素。若是n
爲負數,則返回從數組結尾開始的第n個元素。code
_.pull(array, [values])
移除數組
array
中全部和給定值相等的元素blogvar arr = [1, 2, 3, 1, 2, 3]; _.pull(arr, 2, 3); // => [1, 1]
_.pullAll(array, values)
這個方法相似
_.pull
,區別是這個方法接收一個要移除值的數組。 索引var arr = [1, 2, 3, 1, 2, 3]; _.pullAll(arr, [2, 3]); // => [1, 1]
_.pullAllBy(array, values, [iteratee=_.identity])
這個方法相似於
_.pullAll
,區別是這個方法接受一個iteratee
(迭代函數) 調用array
和values
的每一個值以產生一個值,經過產生的值進行了比較。iteratee 會傳入一個參數: (value)。 ipvar arr = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }]; _.pullAllBy(arr, [{ 'x': 1 }, { 'x': 3 }], 'x'); // => [{ 'x': 2 }]
_.pullAllWith(array, values, [comparator])
這個方法相似於
_.pullAll
,區別是這個方法接受comparator
調用array
中的元素和values
比較。comparator 會傳入兩個參數:(arrVal, othVal)。 字符串var arr = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }]; _.pullAllWith(arr, [{ 'x': 3, 'y': 4 }], _.isEqual); // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]
_.pullAt(array, [indexes])
根據索引
indexes
,移除array
中對應的元素,並返回被移除元素的數組。注意:原數組被改變
var arr = [5, 10, 15, 20]; var newarr = _.pullAt(array, 1, 3); // arr => [5, 15] // newarr => [10, 20]