将新值推送到数组擦除旧值

时间:2021-06-19 10:23:18

标签: javascript arrays

我正在尝试将新值推送到数组,并希望保留旧值,但旧值正在使用以下代码消失。

let abText = (text) => {
  let query = [];
  let a = text.map(
    (script) => {
     let value = createFromMethod(script);
     query = {...query, value};
    }
  );
  console.log(query);
  return query;
};

createFromMethod 每次映射都会返回一个对象 迭代,我需要将所有这些对象作为对象数组返回。

我的代码有什么问题?

2 个答案:

答案 0 :(得分:0)

假设我理解了这个问题 - 这不太可能,而且 createFromMethod 只是返回一些对象,您想将这些对象中的每一个推入一个数组,该数组在 abText 中返回。

在这种情况下,第 6 行是混乱的。

将第 6 行从 query = {...query, value}; 更改为 query = [...query, value];

  • 这是因为query = {...[1,2,3], 5} => error missing ":" token
  • query = [...[1,2,3], 5] => result: [1,2,3,5]

答案 1 :(得分:0)

const query = [];

let abText = (text) => {

    text.map(script => createFromMethod(script)).forEach(obj => query.push(obj));

    return query;

};

const query = [];

let abText = (text) => {

    const newObjs = text.map(script => createFromMethod(script));

    query = [...query, ...newObjs];

    return query;
};
相关问题