10

下划线的省略如何工作。我期待使用下面的键 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]}
4

2 回答 2

14

_omit_contains包含这行代码的调用:

return value === target;

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

_.omit(test, "1", "2")
于 2013-09-25T10:49:22.667 回答
4

我猜 key 需要是字符串。这行得通。 http://jsfiddle.net/FMaDq/2/

var out = _.omit(test, ['1','2'])
于 2013-09-25T10:46:01.737 回答