首页 > 解决方案 > 如何将项目插入到函数返回的数组中

问题描述

我有这个返回数组的函数,我正在尝试将新内容插入到数组中,我该怎么做?我试过这种方式,但不工作

function getAllVideos() {
    return [
        {title: 'My First Vlog', category: 'vlog'},
        {title: 'Mortal Kombat X Review', category: 'games'}
    ]
}

getAllVideos().push({title: 'Some News', category: 'vlog'})

标签: javascriptarrays

解决方案


实际上,您的代码确实向返回的数组添加了一个新项目。您只是没有捕获该数组,因此更改不是永久性的。每次调用该函数时,都会返回一个新的 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


推荐阅读