2013-09-25 53 views
7

Bỏ qua của gạch dưới hoạt động như thế nào. Tôi đã mong muốn loại bỏ các thuộc tính với khóa 1 và 2 bên dưới. Nhưng nó không phải như vậy.gạch dưới cách sử dụng omit

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]} 

Trả lời

10

_omit cuộc gọi _contains trong đó bao gồm dòng mã này:

return value === target; 

Các phím sẽ được chuỗi, vì vậy bạn cần phải vượt qua chuỗi trong để so sánh với (vì "1" === 1 là sai).

_.omit(test, "1", "2") 
Các vấn đề liên quan