下划线.js | _.keepIndexed() 方法
Underscore.js _.keepIndexed() 方法将一个数组和一个函数作为参数,并返回一个新数组,其中填充了给定函数作用于给定数组元素的非空返回结果。
句法:
_.keepIndexed(array, function)
参数:
- 数组:传递给此方法的数组。
- 函数:包含生成新数组的条件的函数。
返回值:该方法返回一个新生成的数组。
注意:这在普通 JavaScript 中不起作用,因为它需要安装 underscore.js contrib 库。
underscore.js contrib 库可以使用npm install underscore-contrib –save 安装。
示例 1:在此示例中,我们将通过检查条件使用此方法生成一个数组。
在这里,在函数中,传递了数组的索引,该索引进一步用于获取值和比较。
// Defining underscore contrib variable
var _ = require('underscore-contrib');
// Defining Array
var array = [1, 3, 5, 9]
// Using keepIndexed() Method
arr = _.keepIndexed(array, function(n) {
return array[n] >= 5;
});
console.log("Generated Array : ");
console.log(arr);
输出:
Generated Array :
[ false, false, true, true ]
示例 2:在此示例中,我们将生成一个包含元素索引的数组。
// Defining underscore contrib variable
var _ = require('underscore-contrib');
// Defining Array
var array = [1, 3, 5, 9, 11, 22, 34, 55]
// Using keepIndexed() Method
arr = _.keepIndexed(array, function(n) {
return n;
});
console.log("Generated Array : ");
console.log(arr);
输出:
Generated Array :
[
0, 1, 2, 3,
4, 5, 6, 7
]
示例 3:在此示例中,我们将使用 if 条件来获取特定值。
// Defining underscore contrib variable
var _ = require('underscore-contrib');
// Defining Array
var array = [1, 3, 5, 9, 11, 22, 34, 55]
// Using keepIndexed() Method
arr = _.keepIndexed(array, function(n) {
if(n===4) return array[n];
});
console.log("Generated Array : ");
console.log(arr);
输出:
Generated Array :
[ 11 ]