2013-09-25 10 views
7

アンダースコアの省略記号はどのようにして動作しますか?私は以下のキー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]} 

答えて

10

_omit通話_contains:あなたは("1" === 1がfalseであるため)に比較することで文字列を渡す必要があるので、

return value === target; 

キーは、文字列になります。

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

私は、文字列であることを主要なニーズを推測します。これはうまくいった。このコード行が含まれて http://jsfiddle.net/FMaDq/2/

var out = _.omit(test, ['1','2']) 
関連する問題