【发布时间】:2017-04-02 03:40:34
【问题描述】:
我有 2 个数组
const arr1 = [[1,2],[3,4],[5,6]];
const arr2 = [1,2,3,4,5];
我想获取这些数组中的特定元素来记录
有两种情况:
1/
console.log(_.find(arr1,0,1));
console.log(_.find(arr2,0,1));
它返回undefined 和arr2
2/
console.log(_.find(arr1[1],0,1));
这个也返回undefined。
谁能告诉我我在这里缺少什么?
编辑
对于console.log(_.find(arr1,0,1));,我和@Mr.7 得到了2 个不同的结果:我在Chrome 控制台上的结果是[3,4],但在jsfiddle 上是[1,2],与Mr.7 相同。我注意到_.find
这是我的代码:
import _ from 'lodash';
const arr1 = [[1,2],[3,4],[5,6]];
const arr2 = [1,2,3,4,5];
const arr3 = [[0,2],[3,4],[5,6]];
console.log(_.find(arr1,1,1));//[3,4]
console.log(_.find(arr1,0,1));//[3,4]
console.log(_.find(arr2,2));//undefined
console.log(_.find(arr1,0));//[1,2]
console.log(_.find(arr3,0));//[3,4]
console.log(_.find(arr1,1));//[1,2]
【问题讨论】:
-
第二种情况和第一种情况的第一种是一样的吗?两种情况都返回
[1, 2] -
对不起,我错过了一些东西。我刚刚更新了
-
你想做什么?意思是
_.find(arr2,0,1),你在arr2中寻找0,起始索引为1,显然是undefinedlodash.com/docs/4.16.6#find -
@Fahad 他不是在
arr2中寻找0。0是真假测试。该函数在找到可接受的元素后立即返回,并且不会遍历整个列表。 -
我刚刚更新了一点。你能检查一下吗?
标签: javascript arrays ecmascript-6 lodash