若有指定 Value 要從 Array 中刪除,可使用 Wink-fp 的 discard()
直接從 Array 中刪除。
Version
macOS Catalina 10.15.6
Wink-fp 1.23.8
Functional
import { pipe, of, without } from 'ramda'
// discard :: a -> [a] -> [a]
let discard = pipe(of, without)
let data = [1, 2, 3]
discard(2)(data) // ?
使用
of()
將 value 包進 Array使用
without()
將兩 Array 相減
Primitive
import { discard } from 'wink-fp'
let data = [1, 2, 3]
discard(2, data) // ?
Wink-fp 已經提供 discard()
可直接使用。
discard()
a -> [a] -> [a]
移除 Array 中指定 value
a
:提供要刪除的 value
[a]
:data 為 Array
[a]
:回傳刪除後 Array
Object
import { discard } from 'wink-fp'
let data = [
{ title: 'FP in JavaScript', price: 100 },
{ title: 'RxJS in Action', price: 200 },
{ title: 'Speaking JavaScript', price: 300 }
]
let obj = { title: 'RxJS in Action', price: 200 }
discard(obj, data) // ?
discard()
也能用於 Object Array。
Conclusion
discard()
底層使用了 Ramda 的without()
,所以必須先使用of()
將 value 轉成 Array