Javascript Array.filter() 和 Array.some()

标签 javascript arrays

关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。












此问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-topic在这里,这个问题的解决方式不太可能帮助 future 的读者。


1年前关闭。







Improve this question




我想按扩展名过滤一组文件。
我写了以下代码:

    const exts = ['.log, ts']

    const files = [ 
        'a.ts', 'b.xml', 'c.log'
    ]

    const res = files.filter(f => {
        return exts.some(e => {
            return f.endsWith(e)
        })
    })

   console.log(res)
在我看来,它应该输出 ['a.ts', 'c.log'] .
但我得到一个空数组。
我从几个小时开始就在看这个。我不明白。请帮帮我..怎么了?

最佳答案

exts 的数组中需要多个字符串

const exts = ['.log', '.ts']

const
    exts = ['.log', '.ts'],
    files = ['a.ts', 'b.xml', 'c.log'],
    res = files.filter(f => exts.some(e => f.endsWith(e)));

console.log(res);

关于Javascript Array.filter() 和 Array.some(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65251645/

相关文章:

javascript - 如何转换并传递 GAS 中的日期以在 Google 日历中创建事件?

javascript - 禁用使用 <script> 标签加载的特定 JavaScript

javascript - JavaScript的 “type”是什么语言?

javascript - 将 FFMPEG 导入 Graphics Magick

c - 添加要在函数中操作的大型数组时内存不足

php - 从 mysql 查询中分割 php 数组

javascript - `var in array` 和 `array.indexOf(var)` 有什么区别?

arrays - Xamarin Studio 6.0 F#Array.tai​​l产生编译错误

arrays - 替换排序数组中偶数位置的数字

javascript - 验证我的代码 json