在对象上使用 jQuery grep
Using jQuery grep on an object
我有一个看起来像这样的对象:
const myObject = {
3723723: null
,3434355: true
,9202002: null
}
使用jQuery grep
方法我需要获取值不为空的数组的计数。
const result = $.grep(myArray, function (k, v) { return v != null; });
const count = result.length;
在JavaScript中你可以使用对象来获取你想要的数据结构。
var data = {
3723723: null,
3434355: true,
9202002: null
}
要计算值不为 null 的属性,您可以使用 Object.keys()
获取对象键数组,然后使用 reduce()
获取计数。
var data = {
3723723: null,
3434355: true,
9202002: null
}
var result = Object.keys(data).reduce(function(r, e) {
if(data[e] != null) r += 1;
return r;
}, 0);
console.log(result)
你说的变量其实不是数组,而是对象
您不需要 jQuery 来查找非空值的数量。调用 Object.values()
函数获取该对象的值作为数组,然后使用 filter()
方法过滤掉 null
的值,然后检查 length
属性.
const myObject = {
3723723: null
,3434355: true
,9202002: null
}
console.log(Object.values(myObject).filter(x => x !== null).length)
使用 Object.keys()
的替代解决方案:
const myObject = {
3723723: null
,3434355: true
,9202002: null
}
console.log(Object.keys(myObject)
.map(x => myObject[x])
.filter(x => x !== null).length)
我有一个看起来像这样的对象:
const myObject = {
3723723: null
,3434355: true
,9202002: null
}
使用jQuery grep
方法我需要获取值不为空的数组的计数。
const result = $.grep(myArray, function (k, v) { return v != null; });
const count = result.length;
在JavaScript中你可以使用对象来获取你想要的数据结构。
var data = {
3723723: null,
3434355: true,
9202002: null
}
要计算值不为 null 的属性,您可以使用 Object.keys()
获取对象键数组,然后使用 reduce()
获取计数。
var data = {
3723723: null,
3434355: true,
9202002: null
}
var result = Object.keys(data).reduce(function(r, e) {
if(data[e] != null) r += 1;
return r;
}, 0);
console.log(result)
你说的变量其实不是数组,而是对象
您不需要 jQuery 来查找非空值的数量。调用 Object.values()
函数获取该对象的值作为数组,然后使用 filter()
方法过滤掉 null
的值,然后检查 length
属性.
const myObject = {
3723723: null
,3434355: true
,9202002: null
}
console.log(Object.values(myObject).filter(x => x !== null).length)
使用 Object.keys()
的替代解决方案:
const myObject = {
3723723: null
,3434355: true
,9202002: null
}
console.log(Object.keys(myObject)
.map(x => myObject[x])
.filter(x => x !== null).length)