【问题标题】:Check if set of elements is present in other set of elements with lodash使用 lodash 检查其他元素集中是否存在一组元素
【发布时间】:2016-02-21 10:56:15
【问题描述】:

字段game_options 设置了一些参数 我需要查看请求的选项是否与game_options 相同

game_options = ['ps2', 'pc']
request = ['ps2', 'pc', 'xbox']

这个组合应该返回 false 但这是真的:

game_options = ['ps2', 'pc', 'xbox']
request = ['ps2', 'pc']

我已经用 lodash 做到了这一点,但不确定它是否正确:

_ = require 'lodash'
hasAllRequestedOptions - (options, request) ->
  return true if _.intersection(game_options, request).length is request.length
  return false

【问题讨论】:

  • 我会使用return !_.difference(request, game_options).length
  • @georg 它返回 ['xbox'] 秒

标签: javascript node.js coffeescript lodash


【解决方案1】:

您可以使用difference 函数来实现:

game_options = ['ps2', 'pc'];
request = ['ps2', 'pc', 'xbox'];

console.log(_.difference(game_options, request).length > 0);

game_options = ['ps2', 'pc', 'xbox'];
request = ['ps2', 'pc'];

console.log(_.difference(game_options, request).length > 0);

【讨论】:

  • 如果 request = ['pc'] , game_options = ['pc'] @JesusRT
【解决方案2】:
var isPresented = _.intersection(game_options, request).length === request.length

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    • 1970-01-01
    • 2018-02-23
    • 1970-01-01
    相关资源
    最近更新 更多