使用lodash

时间:2016-11-22 13:03:06

标签: javascript lodash

我对如何使用lodash _.some()函数检查集合(对象)感到有些困惑。

var x = {prop1: 800, prop2: 800, prop3: 'test'};

_.some(x, i => _.isNaN(i))
//false

_.some(x, _.isNaN)
//false

3 个答案:

答案 0 :(得分:0)

_.isNaN('test')返回false。它是string

_.isString('test')是您正在寻找的。

_.some(x, (i) => {
    console.log(_.isString(i));
});

// false
// false
// true

编辑:刚看到你的评论。如果您想检查每个值是一个数字,您可以这样做:

_.every(x, (i) => {
    console.log(i);
    return _.isNumber(i);
})

//false

答案 1 :(得分:0)

现在您想知道所有属性是否都是数字,您可以使用:

!_.some(x, i=> !_.isNumber(i))

我不了解_.some_.every的性能差异,但您当然也可以使用:

_.every(x, i=> _.isNumber(i))

答案 2 :(得分:0)

来自lodash doc _.isNaN基于Number.isNaN,与全局isNaN不同,后者对于未定义和其他非数字值返回true。

_.some(x, isNaN)
//true