【问题标题】:JavaScript How to take all strings from an array and print them using filter?JavaScript 如何从数组中获取所有字符串并使用过滤器打印它们?
【发布时间】:2016-08-21 19:10:29
【问题描述】:

如果你不明白这个问题,请看代码,希望你能理解。 我想获取数组中的所有字符串,例如,在同一个数组中有数字和布尔值

我在 JavaScript 中有一个数组

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

如何检查数组中有多少个字符串并打印然后使用过滤器? 我正在尝试学习如何使用过滤器。

【问题讨论】:

  • 你试过用谷歌搜索 javascript 数组过滤器吗?

标签: javascript arrays string filter


【解决方案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';
});

【讨论】:

    【解决方案2】:

    在 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' ]
    

    【讨论】:

      【解决方案3】:

      试试这个!

      function stringFilter(arr) {
      
          var filtered = [];
      
          for(var i = 0; i < arr.length; i++){
      
              if(typeof(arr[i]) === 'string') {
      
                  filtered.push(arr[i]);
              }
      
          }
          return filtered;
      }
      

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 这不应该是一个答案,因为您没有提供任何解决方案代码。应该是评论。
        • 我还不能直接发表评论,由于代表限制,如果可以的话,我会的。
        猜你喜欢
        • 2012-02-09
        • 2015-06-10
        • 2021-02-24
        • 2019-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-12
        相关资源
        最近更新 更多