动态

详情 返回 返回

巧用 concat 和 apply 將對象或二維數組轉化為一維數組 - 动态 详情

場景:

在用node寫接口的時候,做了 SQL 防注入,並且封裝了一個能返回 修改數據庫sql語句 的方法,由於使用了佔位符,所以需要將傳入的對象按照 key-value 的方式一個個的對應上去。

實現:

先介紹一下這兩個方法

concat 方法用於合併兩個或多個數組。此方法不會更改現有數組,而是返回一個新數組。 如果該方法的參數是一個元素,該元素會被直接插入到新數組中;如果參數是一個數組,該數組的各個元素將被插入到新數組中。

apply 方法會引用調用 apply 的函數,並指向第一個參數,apply方法的第二個參數(一個數組,或類數組的對象)會作為被調用對象的arguments值,也就是説第二個參數的各個元素將會依次成為被調用函數的參數。

const obj = {
    a: 'aaa',
    b: 'bbb',
}
const d_arr = Object.entries(obj)  // [["a", "aaa"], ["b", "bbb"]]
const arr = Array.prototype.concat.apply([], d_arr) // ["a", "aaa", "b", "bbb"]

Add a new 评论

Some HTML is okay.