强调如何使用省略

时间:2013-09-25 10:43:51

标签: javascript underscore.js

下划线如何省略。我期望删除下面的键1和2的属性。但事实并非如此。

http://jsfiddle.net/FMaDq/1/

var test = {
    1: [],
    2: [],
    3: [],
    4: []
}

var out = _.omit(test, [1,2])
var out2 = _.omit(test, 1,2)
console.log(out)
console.log(out2)

Object {1: Array[0], 2: Array[0], 3: Array[0], 4: Array[0]}
Object {1: Array[0], 2: Array[0], 3: Array[0], 4: Array[0]}

2 个答案:

答案 0 :(得分:12)

_omit调用_contains,其中包含以下代码行:

return value === target;

键将是字符串,因此您需要传入字符串以进行比较(因为"1" === 1为false)。

_.omit(test, "1", "2")

答案 1 :(得分:3)

我猜密钥需要是字符串。这很有效。 http://jsfiddle.net/FMaDq/2/

var out = _.omit(test, ['1','2'])