【问题标题】:Don't Understand Concept不懂概念
【发布时间】:2021-08-31 22:21:51
【问题描述】:

给定下面的数组,创建一个循环遍历每个名​​称的函数,比较 每个的长度确定最长的名称,将该名称保存到变量中 最长的名字。将最长名称返回到另一个名为 answer 的变量并记录 向屏幕回答变量。

let array = [ "John", "Lee", "Smitty", "Cyren", "Linda", "Bart", "Jason", "Wilson", "Travis", "Newt"];

会不会是这样的

let array = [ "John", "Lee", "Smitty", "Cyren", "Linda", "Bart", "Jason", "Wilson", "Travis", "Newt"];

let result = array.filter(val =>includes(val));

console.log(result);

【问题讨论】:

    标签: javascript arrays function compare string-length


    【解决方案1】:

    只需对数组使用reduce,每次都返回最长的元素。

    longest 变量将包含最后一个最长的元素。

    运行 sn-p 并了解 reduce、? : (Elvis operator) 在 javascript 中的工作原理

    let array = [ "John", "Lee", "Smitty", "Cyren", "Linda", "Bart", "Jason", "Wilson", "Travis", "Newt"];
    let longest = array.reduce((prev, curr) => curr.length > prev.length ? curr : prev,'');
    console.log(longest)

    希望这有帮助?

    【讨论】:

      【解决方案2】:

      这是一个示例实现。

      // A function which accepts an array as input
      function findLongest(names) {
        let longest_name = '';
        // Loop through all the names
        for (let i = 0; i < names.length; i += 1) {
          // If the names is longer than longest_name, update it
          if (names[i].length > longest_name.length) {
            longest_name = names[i];
          }
        }
        return longest_name;
      }
      
      let array = [ "John", "Lee", "Smitty", "Cyren", "Linda", "Bart", "Jason", "Wilson", "Travis", "Newt"];
      
      let answer = findLongest(array);
      
      console.log(answer)

      【讨论】:

      • 非常感谢。我真的很感激。
      猜你喜欢
      • 2011-07-24
      • 2022-07-02
      • 1970-01-01
      • 1970-01-01
      • 2020-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多