如何通过`返回结果从`filter`得到结果?

时间:2015-02-03 16:03:17

标签: jquery

我正在尝试返回过滤结果。但我得到的是jQuery对象而不是长度。

有办法做到这一点吗?

var userNoteClass = spans.filter(function(index) {
    return this.className.split(' ').reduce(function(cNum, cName) {
        return cName.substring(0, 8) === 'userNote' ? cNum + 1 : cNum;
    }, 0).length; //i required the cNum to be consoled out.
});

console.log(userNoteClass); // length i am looking here..

1 个答案:

答案 0 :(得分:1)

你正在做的不是过滤。您需要Array.map

var userNoteClass = spans.map(function(index) {
    return this.className.split(' ').reduce(function(cNum, cName) {
        return cName.substring(0, 8) === 'userNote' ? cNum + 1 : cNum;
    }, 0); // leave it as it is
});
console.log(userNoteClass);

Reduce函数返回一个Number,所以我想不需要length