
保持 javascript 对象数组键值顺序替换的有效方法
在原对象数组中顺序改变键值时,难以保持顺序。对此,本文提出了一种有效的替换方法。
问题陈述
存在一个对象数组,需要替换键和值,但要求保持顺序,例如:
tabledata = [
{
a: '12a',
b: '12b'
},
{
a: '13a',
b: '13b'
}
]
// 替换后(顺序已变)
tabledata = [
{
d: '12d',
b: '12b'
},
{
d: '13d',
b: '13b'
}
]
解决方案
javascript 对象键的顺序遵循以下规则:
- 数字键按升序排序
- 非数字键按插入顺序排序
因此,只要避免使用数字键,即可保持顺序。修改后的替换方法如下:
function replaceobjkeywithorder<t extends object>(
obj: t,
kold: keyof t & string,
knew: string,
) {
const entries = object.entries(obj),
entry = entries.find(([k]) => k === kold)
entry && (entry[0] = knew)
return object.fromentries(entries)
}
// 使用替换方法
newtabledata = tabledata.map((v) => replaceobjkeywithorder(v, "a", "d"))</t>
结果
替换后,对象数组保持原始顺序:
[
{ D: '12A', B: '12B' },
{ D: '13A', B: '13B' }
]
这种替换方法解决了顺序错乱的问题,可以有效地替换 javascript 对象数组中的键和值。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










