如何在 JavaScript 中对数组进行 CRUD
点击此处阅读原文
在 JavaScript 中,有两种方法可以创建、更新和删除数组中的元素。第一种方法是使用破坏性方法,这会改变对象本身。
第二种方法是使用immutable方法,它将返回一个包含新更新值的新数组。如果你使用Redux或其他状态管理库,这将非常有用。
假设我们有一个数组包含一些如下所示的项目。
const list = ["Item 1", "Item 2", "Item 3"]
创建项目
可变的方式:
const newItem = "Item 4"
list.push(newItem)
不变的方式:
const newItem = "Item 4"
const newList = list.concat([newItem])
结果:
[
"Item 1",
"Item 2",
"Item 3",
"Item 4"
]
更新项目
可变的方式:
const itemIndex = 1
const newItem = "Item 2 (updated)"
list[itemIndex] = newItem
不变的方式:
const itemIndex = 1
const newItem = "Item 2 (updated)"
const newList = list.map((item, index) => {
return index === itemIndex ? newItem : item
})
结果:
[
"Item 1",
"Item 2 (updated)",
"Item 3"
]
删除项目
可变的方式:
const itemIndex = 1
list.splice(itemIndex, 1)
不变的方式:
const itemIndex = 1
const newList = list.filter((item, index) => {
return index !== itemIndex
})
结果:
[
"Item 1",
"Item 3"
]