如何在对象数组中添加,更新,删除和搜索对象

时间:2019-11-07 19:37:17

标签: javascript

你好,我有一个空数组,然后我将对象推入内部,但是没有更新,它又回到了空。这在node.js上。我需要作为第一个参数-从推荐行中对数组执行操作的三个字符串之一:'add'将新项添加到数组,'delete'删除frm数组和'update'进行更新数组。第二个论点是书名,第三个论点的作者和最后一页。

    let arrayOfBooks = [];

// Assign places to the array 
let whichArgument = process.argv[2]
let name = process.argv[3];
let author = process.argv[4];
let pages = Number(process.argv[5]);

// Function constructor
function Book(name,author,pages) {
    this.name = name;
    this.author = author;
    this.pages = pages;
}

// Add function
const addBook = (arrayOfBooks)=> {
    arrayOfBooks.push(new Book(name, author, pages));
    return arrayOfBooks
}
let result = addBook(arrayOfBooks);

1 个答案:

答案 0 :(得分:0)

您的方法有效,但是也许您通过对数组和params使用相同的名称来丢失引用。但是无论如何,由于方法.push不会返回更新后的数组,而只是修改了相同的数组实例,因此您无需返回推送的数组,只需使用它即可。

const arrayOfBooks = [
    {book: 1},
  {book: 2},
  {book: 3},
  {book: 4},
]

const addBook = (list, book) => {
    list.push(book)
}

addBook(arrayOfBooks, {book: 5, isTheNewOne: true})

const result = arrayOfBooks
console.log(result)
// Array with 5 elements now

参见fiddle