如何有效地保持 JavaScript 对象数组键值顺序替换后的顺序?
保持 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 对象数组中的键和值。
以上就是如何有效地保持 JavaScript 对象数组键值顺序替换后的顺序?的详细内容,更多请关注其它相关文章!