javascript - 如何将项目插入到函数返回的数组中
问题描述
我有这个返回数组的函数,我正在尝试将新内容插入到数组中,我该怎么做?我试过这种方式,但不工作
function getAllVideos() {
return [
{title: 'My First Vlog', category: 'vlog'},
{title: 'Mortal Kombat X Review', category: 'games'}
]
}
getAllVideos().push({title: 'Some News', category: 'vlog'})
解决方案
实际上,您的代码确实向返回的数组添加了一个新项目。您只是没有捕获该数组,因此更改不是永久性的。每次调用该函数时,都会返回一个新的 Array 实例——它永远不会是同一个数组两次,因为在调用它时它是作为函数内的数组字面量创建的。
function getAllVideos() {
return [
{title: 'My First Vlog', category: 'vlog'},
{title: 'Mortal Kombat X Review', category: 'games'}
]
}
// Capture the return value
let result = getAllVideos();
// Add to the array
result.push({title: 'Some News', category: 'vlog'});
console.log(result); // Verify
推荐阅读
- python - 我该如何解决这个 Flask-WTF 问题: Jinja2.exceptions.UndefinedError: 'wtforms.fields.core.UnboundField object' has no attribute 'label'
- javascript - 如何根据值的百分比设置圆半径?
- json - 如何使用 Codable 处理不同类型的 JSON 数据?
- python - 带有按钮和框架的 grid() 位置 - Tkinter(需要帮助)
- python - 日期偏移 Pandas 字段基于另一个字段
- php - 从 Laravel 的存储中检索多个文件(图像)
- wcf - 如何为 wcf 服务创建 https 绑定?
- sql - 主键不会自动递增
- python - 需要一些帮助使函数尾递归
- elixir - 是否可以通过“use/2”宏(用于 DRY)扩展 Elixir 协议?