【问题标题】:Edit object value in the array : Typescript/Javascript编辑数组中的对象值:Typescript/Javascript
【发布时间】:2019-01-14 09:19:43
【问题描述】:

我有一个函数,它使用 id/value 道具和对象数组作为 args 的对象,看起来像这样:

export const editNote = (editedNote: Note, notes: Notes): Notes => {
notes.find(obj => obj.id === editedNote.id && obj.value === editedNote.value);
return notes;

传递参数时:

const data = [{id:0, value:'a'}, {id:1, value:'b'}]
expect(editNote({id:0, value:'z'}, data)).toEqual([{id:0, value:'z'}, {id: 1, value:'b'}]);

我仍然收到未更改的值:

Received:
[{"id": 0, "value": "a"}, {"id": 1, "value": "b"}]

请指出我的错误。 JS 新手,TS 新手。

【问题讨论】:

  • 您为什么不期望值不变? editNote 似乎没有任何事情。
  • find() 的结果没有被使用,然后你返回整个 notes 数组

标签: javascript typescript


【解决方案1】:

editNote() 只返回注释。 也许你的意思是:

export const editNote = (editedNote: Note, notes: Note[]): Note[] => {
  const note = notes.find(obj => obj.id === editedNote.id);
  note.value = editedNote.value;

  return notes;
}

【讨论】:

  • 是的!谢谢。
猜你喜欢
  • 2020-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-23
  • 2020-08-04
  • 1970-01-01
  • 2019-02-25
  • 2018-04-21
相关资源
最近更新 更多