JavaScript如何从数组中获取所有字符串并使用过滤器打印它们?

时间:2016-08-21 19:10:30

标签: javascript arrays string filter

如果您不理解这个问题,请参阅代码,希望您能理解。 我想获取数组中的所有字符串,在同一个数组中有数字,例如Booleans

我在JavaScript中有一个数组

var names = ['a','v','c','Earth',2,3,4,12,3,3434,true,false,'Fire'];

如何检查数组中的字符串数量并使用过滤器进行打印? 我正在尝试学习如何使用过滤器。

4 个答案:

答案 0 :(得分:1)

只需使用typeof运算符:

var names = ['a','v','c','Earth',2,3,4,12,3,3434,true,false,'Fire'];

var onlyStringValues = names.filter(function (value) {
  return typeof value === 'string';
});

答案 1 :(得分:1)

使用ES6中的过滤器:

var names = ['a','v','c','Earth',2,3,4,12,3,3434,true,false,'Fire'];
var strings = names.filter(value => typeof value === 'string');
console.log(strings); // [ 'a', 'v', 'c', 'Earth', 'Fire' ]

答案 2 :(得分:0)

试试这个!

function stringFilter(arr) {

    var filtered = [];

    for(var i = 0; i < arr.length; i++){

        if(typeof(arr[i]) === 'string') {

            filtered.push(arr[i]);
        }

    }
    return filtered;
}

答案 3 :(得分:-1)

您可以使用typeof条件选择所有字符串,然后可以将这些字符串添加到新数组中,您可以从中获取长度并根据需要将其打印出来。 欲了解更多信息,请点击这里: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/typeof