javascript - 我不明白这段 JS 代码是如何工作的;这两行是如何返回的?

标签 javascript arrays filter boolean-expression

let specificSuffix = function(words, suffix) {
  if (!Array.isArray(words)) {
    return [];
  }
  return words.filter(function(word) {
    return word.endsWith(suffix)
  });
}

console.log(specificSuffix(['family', 'hound', 'catalyst', 'fly', 'timidly', 'bond'], 'ly'));
// [ 'family', 'fly', 'timidly' ]
console.log(specificSuffix(['simplicity', 'computer', 'felicity'], 'ily'));
// [ ]

我特别困惑的是:

return words.filter(function(word) {
  return word.endsWith(suffix)
});

我如何退回这两样东西?过滤器说,返回这个空的新数组,用以后缀结尾的单词填充它...(我认为)

这实际上只是两个返回让我感到困惑。这是如何工作的?

最佳答案

也许如果我们提取变量result,代码会更有意义?

const specificSuffix = function(words, suffix) {
  if (!Array.isArray(words)) return [];

  const result = words.filter(function(word) {
    return word.endsWith(suffix)
  });

  return result;
};

关于javascript - 我不明白这段 JS 代码是如何工作的;这两行是如何返回的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71216079/

相关文章:

javascript - Angular 警告 : sanitizing HTML stripped some content?

javascript - 嵌套 HTTP Get 中的增量值不正确

javascript - jQuery Mobile - 动态更改 UI 页面背景颜色

java - 如何在 Java 中将 MySQL 表中的行存储到数组中

ruby - 在Ruby中,过滤一个对象中所有包含单词 "time"的方法的好方法是什么?

Grails:如何在过滤器中使用createLink?

javascript - 更改选项卡时如何从 activeElement 中移除焦点(onfocus/onblur)?

iphone - 如何将可变数组的对象以数组的形式存储到另一个可变数组中。?

arrays - WordPress JSON API : Retrieve multiple posts by ids

iOS:将 RGB 滤镜应用于灰度 PNG