_.withoutμ νμ¬ μ μλ λ°°μ΄μ 첫 λ²μ§Έ μΈμλ‘ λ°μλ€μΈ λ€μ μμμ μμ νμ μΈμλ₯Ό νμ©ν©λλ€. κΉλ€λ‘μΈ μ μλ€λ κ²μ μκ³ μμ§λ§ λ€λ₯Έ λ°°μ΄μ μΈμλ‘ μ λ¬ν μ μλ€λ©΄ λμμ΄ λ κ²μ λλ€.
μλ‘μ΄ κΈ°λ₯μ λ€μκ³Ό κ°μ΄ μλν©λλ€.
_.μμ΄([1,2,3], [1,2])
보κ³
[μΌ]
λ΄κ° μλ ν _.withoutμ κΉκ² μλνμ§ μμΌλ―λ‘ μ§λμΉκ² 볡μ‘νμ§ μμ μ μμ΅λλ€.
_.μμ΄([1,2,3,[1]], [1], 1)
보κ³
[2, 3, [1]]
λ€νμ€λ½κ²λ JavaScriptμλ ν¨μλ₯Ό μΈμ μμ κ΄κ³μμ΄ μ λ¬ν μ μλ κΈ°λ³Έ μ 곡 λ°©λ²μ΄ μμ΅λλ€.
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/function/apply
_.without.apply(_, [1, 2, 3], [1, 2])
νμ€ν κ²! λ°λ³΄μΌ, λ΄κ° μ΄λ»κ² μκ² μ΄...
μ΄λ κ² λΆλ¬μΌ ν κ² κ°λ€.
_.without.apply(_, [[1,2,3], 1, 2])
μ΄κ²μ κ·Έκ²μ μ½κ° 볡μ‘νκ² λ§λλλ€(λ°°μ λ°°μ΄μ μλ λ°°μ΄λ‘ μ΄λ ν΄μ ).
μ λ°μ΄νΈ: μ΄ λ¬Έμ μ λν μ ν°μΌμ λ§λ€μμ΅λλ€: https://github.com/documentcloud/underscore/issues/issue/118
λλ λ μ¬λ λͺ¨λμκ² λμν΄μΌ ν©λλ€. _.without μλͺ μ μΌκ΄μ± μκ² μ μ§ν Jeremyμ Jeremysκ° μ μν ν΄κ²° λ°©λ²μ μ°ΎμλΈ κ²μ λν΄ Ondreyλ μ½κ° μλ±ν ν΄κ²°μ± μ μ μνμ΅λλ€(μ μκ²λ ν¨κ³Όκ° μλ κ² κ°μ΅λλ€).
λ°λΌμ _.difference(*arrays)
λ° _.symdifference(a,b)
μ λ κ°μ§ μλ‘μ΄ λ°μ€ ν¨μμ λμ
μ μ μνκ³ μΆμ΅λλ€. μ°¨μ΄μ μ μ 곡λ λ€λ₯Έ λ°°μ΄μλ λνλμ§ μλ 첫 λ²μ§Έ λ°°μ΄μ λͺ¨λ μμλ₯Ό ββμ°Ύμ΅λλ€. μ¬κΈ°μ _.symdifference()λ b λλ bμ μμ§λ§ λ λ€μλ μλ μμλ₯Ό λ°νν©λλ€.
μ΄λ¬ν ν¨μμ λν "μκ°"μ νμ΄μ¬ μΈνΈ λ°μ΄ν° μ ν λ° IMHOμμ λΉλ‘―λλ©° κ°μ²΄μλ μ μ© κ°λ₯νκΈ° λλ¬Έμ λ°°μ΄μλ§ κ΅νλμ΄μλ μλ©λλ€.
λ°μ€λ‘ μμ±νλ λΉ λ₯Έ λ°©λ²: _.without.apply(_, [x].concat(y)), yμ κ° μμ΄ xμ κ° λ°°μ΄μ λ°νν©λλ€.
@rubenstolk μ λλ΅μ λ°μ€μ΄ κΈ°μΈμκΌ΄λ‘ ν΄μλλλ‘ μ½λλ₯Ό μ£Όμ μ²λ¦¬νμ§ μμλ€λ μ μ μ μΈνκ³ λ μλν©λλ€. λ―ΈλμΈλλ₯Ό μν΄! :railway_car: :rocket: :rainbow: :raised_hands:
_.without.apply(_, [originalArray].concat(removeArray));
Githubμ 2λ μ @reggiμμ κ·Έλ κ² νμ§ μμλ€κ³ μκ°ν©λλ€!
μ¬κΈ°κΉμ§ μ€μλ λΆλ€μ μν΄.... _.difference([0, 1, 3, 9], [1, 3]); // => [0, 9]
λ³΄λΈ μ¬λ: http://stackoverflow.com/questions/5722254/underscore-js-is-there-a-function-that-produces-an-array-thats-the-difference
λλ μ΄κ²μ΄ λ«ν μλ€λ κ²μ μκ³ μμ§λ§ ES6μ μ€νλ λ μ°μ°μκ° μ΄κ²μ λμΈ κ²μ λλ€ ;)
@agwidarsitoκ° μΈκΈν ES6 μ€νλ λ μ°μ°μλ₯Ό κ²μνκ³ μΆμ§ μμ μ¬λμ μν΄ κ·Έκ° λ§νλ κ²μ ES6μμ λ€μκ³Ό κ°μ΄ ν μ μλ€λ κ²μ λλ€.
const items = [1,2,3,4];
const itemsToRemove = [3,4,5];
const result = _.without(items, ...itemsToRemove);
// result is [1,2]
@addisonbgross κ°μ¬ν©λλ€!
κ°μ₯ μ μ©ν λκΈ
μ¬κΈ°κΉμ§ μ€μλ λΆλ€μ μν΄.... _.difference([0, 1, 3, 9], [1, 3]); // => [0, 9]
λ³΄λΈ μ¬λ: http://stackoverflow.com/questions/5722254/underscore-js-is-there-a-function-that-produces-an-array-thats-the-difference