代码之家  ›  专栏  ›  技术社区  ›  goatstash

如何返回表示字符串元素长度的数字数组?

  •  2
  • goatstash  · 技术社区  · 4 年前

    如果数组是:['hey'、'you'、'muddy'] 预期输出应该是:[3,3,5]

    这就是我目前的情况:

    function lengths(arr) {
      numbersArray = [];
      for (var i = 0; i < arr.length; i++) {
        numbersArray = arr[i].length;
      }
    }
    

    任何帮助都将不胜感激。

    4 回复  |  直到 4 年前
        1
  •  3
  •   Majed Badawi    4 年前

    你需要按一下按钮 length 每一项(使用 Array#push )最后返回数组:

    function lengths(arr) {
      const numbersArray = [];
      for (let i = 0; i < arr.length; i++) {
        numbersArray.push(arr[i].length);
      }
      return numbersArray;
    }
    
    console.log( lengths(['hey', 'you', 'muddy']) );

    另一个解决方案是使用 Array#map :

    function lengths(arr) {
     return arr.map(str => str.length);
    }
    
    console.log( lengths(['hey', 'you', 'muddy']) );
        2
  •  0
  •   Parvesh Kumar    4 年前

    const getStringLength = (arr) => {
      return arr.map((item) => item.length);
    }
    console.log(getStringLength(['hello', 'world']));
        3
  •  0
  •   Сүхболд A.    4 年前
    function lengths(arr) {
      return arr.map(el => el.length)
    }
    

    大堆地图常用于这类事情。 Docs

        4
  •  0
  •   Mohsen Alyafei    4 年前

    试试这个。

    const arrStrLen =(a)=>a.map((i)=>i.length);
    
    console.log(arrStrLen(['hey', 'you', 'muddy']));
    
    console.log(arrStrLen(['How','to','return']));
    推荐文章