typescript - 使用箭头函数使用嵌套数组更新 Object 中的字段
问题描述
我的对象嵌套数组遵循以下方式,
const values: any = {
name: '',
type: undefined,
references: [
{
origin: {
x1: true,
x2: '',
x3: undefined,
},
},
{
origin: {
x1: true,
x2: '',
x3: undefined,
},
},
{
origin: {
x1: true,
x2: '',
x3: undefined,
},
},
],
};
我想用引用数组索引更新 x3 字段,如何使用 ES6 箭头函数来实现这一点。我写了一个函数,但它对我不起作用。如果有人可以纠正我的功能,那就太好了,
export const replaceReferenceIndex = (values: any) => {
return {
...values,
references: values.references.map((reference.origin: any, x3: number) => ({
...reference.origin,
x3,
})),
};
};
解决方案
你只需要重写你map
的回调函数:
const values = {
name: '',
type: undefined,
references: [
{
origin: {
x1: true,
x2: '',
x3: undefined,
},
},
{
origin: {
x1: true,
x2: '',
x3: undefined,
},
},
{
origin: {
x1: true,
x2: '',
x3: undefined,
},
},
],
};
const replaceReferenceIndex = (values) => ({
...values,
references: values.references.map((ref, idx) => ({
...ref,
origin: { ...ref.origin, x3: idx }
})),
});
console.log(replaceReferenceIndex(values))
我省略了类型注释,因为您显然不使用它们来检查正确性。
推荐阅读
- javascript - 如何在Angular中的事件函数内调用组件的方法?
- git - IntelliJ IDEA Git 克隆 - 如何删除公钥认证
- reactjs - 如何在 React 上切换侧边栏
- java - 停止录制屏幕时应用程序崩溃
- reactjs - 尝试提取 API 数据并将视频嵌入到反应 js 文件中
- flutter - 如何在 Dart 中格式化日期?
- r - 通过 R Studio 在 R Markdown 中使用 dsfont 包
- linux - 为所有 Linux 系统构建 PostgreSQL 13.1 可重定位包
- ios - 如何自动化 IOS 中的特定设置?
- php - PHP:如果文件 pdf 则显示视图图标,如果文件 doc 则显示下载图标