【问题标题】:Compare array elements比较数组元素
【发布时间】:2016-03-25 22:45:36
【问题描述】:

CoffeeScript 中是否有更优雅的方式来比较数组中的元素?

对于“是数组中的任何这些元素”我这样做:

if "b0" in myArr or "b1" in myArr or "b1" in myArr

对于“数组中的所有这些元素”,我会这样做:

if "b0" in myArr and "b1" in myArr and "b1" in myArr

非常感谢您对这个初学者问题的帮助。

【问题讨论】:

    标签: arrays coffeescript


    【解决方案1】:

    对于“数组中的这些元素中的任何一个”我这样做:
    如果 myArr 中的“b0”或 myArr 中的“b1”或 myArr 中的“b1”

    为此使用数组方法很方便。 Array.prototype.some 很有用:

    ['b0', 'b1', 'b2'].some(function(el) {
        return myArr.indexOf(el) > -1;
    });
    

    对于“数组中的所有这些元素”,我会这样做:
    如果 myArr 中的“b0”和 myArr 中的“b1”和 myArr 中的“b1”

    在这里你可以使用Array.prototype.every:

    ['b0', 'b1', 'b2'].every(function(el) {
        return myArr.indexOf(el) > -1;
    });
    

    【讨论】:

    • 感谢 dfsq 的这个小技巧。我确信 CoffeeScript 有一些方便的“内置”,但再也找不到合适的例子了。
    • 我不是咖啡师,但我认为它没有那么具体的东西。毕竟只是普通的JS。你只需要把它翻译成 CS 语法。
    猜你喜欢
    • 2015-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多