Javascript 数组中的扩展操作出错。TS1005:'';预期。打字稿
我无法找出我在第Javascript 数组中的扩展操作出错。TS1005:'';预期。打字稿,javascript,arrays,reactjs,typescript,spread-syntax,Javascript,Arrays,Reactjs,Typescript,Spread Syntax,我无法找出我在第行中遗漏了什么。第[SECTION\u ID节。它总是显示一个打字错误“,” 常见问题解答:sections-是一个内部包含对象的数组 尝试修改自定义创建的节的特定对象 标记节号 附言 我还尝试将行.sections[SECTION\u ID]放在一个额外的括号内[],但不幸的是,这没有帮助…有什么解决方案吗 rows: state.rows.map( row => row.ID === action.rowID ? {
行中遗漏了什么。第[SECTION\u ID
节。它总是显示一个打字错误“,”
常见问题解答:sections
-是一个内部包含对象的数组
尝试修改自定义创建的节的特定对象
标记节号
附言
我还尝试将行.sections[SECTION\u ID]
放在一个额外的括号内[]
,但不幸的是,这没有帮助…有什么解决方案吗
rows: state.rows.map(
row =>
row.ID === action.rowID
? {
...row,
sections: [
...row.sections,
row.sections[SECTION_ID]: { // error is here
...row.sections[SECTION_ID],
data: {
...// some data
}
}
]
}
: row
)
如果试图在不改变数组的情况下替换数组某个索引处的元素,可以创建数组的浅层副本,然后在该索引处设置值。例如:
state.rows.map((row) => {
if (rowID !== action.rowID) {
return row;
}
const sectionCopy = [...row.sections];
sectionCopy[SECTION_ID] = {
...row.sections[SECTION_ID],
data: {
// some data
},
};
return {
...row,
sections: sectionCopy,
};
});
如果试图在不改变数组的情况下替换数组某个索引处的元素,可以创建数组的浅层副本,然后在该索引处设置值。例如:
state.rows.map((row) => {
if (rowID !== action.rowID) {
return row;
}
const sectionCopy = [...row.sections];
sectionCopy[SECTION_ID] = {
...row.sections[SECTION_ID],
data: {
// some data
},
};
return {
...row,
sections: sectionCopy,
};
});
您不能通过这种方式对数组中的元素进行排列
变异。使用这种方法,您每次只需向相同的数组
添加一个新的变异元素
。因此,如果您想使其正确,您需要使用映射
迭代器:
rows: state.mymaps.rows.map(
row =>
row.ID === action.rowID
? {
...row,
sections: row.sections.map(
(section, index) =>
index === JOIN_SECTION_ID
? {
...section,
data: {
...section.data
}
} : section
)
} : row
)
您不能通过这种方式对数组中的元素进行排列
变异。使用这种方法,您每次只需向相同的数组
添加一个新的变异元素
。因此,如果您想使其正确,您需要使用映射
迭代器:
rows: state.mymaps.rows.map(
row =>
row.ID === action.rowID
? {
...row,
sections: row.sections.map(
(section, index) =>
index === JOIN_SECTION_ID
? {
...section,
data: {
...section.data
}
} : section
)
} : row
)
节应该是数组还是对象?它是用方括号写的,使之成为数组,但是你试图在它里面放一个键/值对,就像一个对象一样。@NicholasTower hi!sections
是一个数组,里面有对象,是的。在这种情况下,我试图通过自定义标志修改sections
的特定对象SECTION_ID
要在arrayok中找到它,那么您是要将一个对象推到数组的末尾,还是在某个索引处替换一个对象?很难说您要在这里得到什么输出。您的sections
数组中的第二个元素是否应该是对象?@KirkLarkin hi!。节的所有元素都是re theobjects
。节是数组还是对象?它是用方括号写的,使其成为数组,但你试图将一个键/值对像对象一样放在里面。@NicholasTower hi!节是一个数组,里面有对象,是的。在这种情况下,我试图修改节的特定对象ons
通过自定义标志SECTION\u ID
在arrayok中找到它,那么您是在尝试将对象推到数组的末尾,还是在某个索引处替换对象?很难说您试图在这里获得什么输出。您的sections
数组中的第二个元素是否应该是对象?@KirkLarkin hi部分
是对象
。谢谢,我在我的问题帖子中也使用了相同的技巧,但它不通过三元运算符工作,这就是为什么…谢谢,我在我的问题帖子中也使用了相同的技巧,它不通过三元运算符工作,这就是为什么。。。