不懂概念

问题描述

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

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

会是这样吗

let array = [ "John","Newt"];

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

console.log(result);

解决方法

这是一个示例实现。

// 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)

,

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

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

请运行代码段并了解 reduce,? : (Elvis operator) 在 javascript 中的工作原理

let array = [ "John","Newt"];
let longest = array.reduce((prev,curr) => curr.length > prev.length ? curr : prev,'');
console.log(longest)

希望对你有帮助?