如何解决Javascript:从对象中提取键值对并将它们组合在一起形成对象数组
我有一个这样的对象:
const object = { a0: 1,a1: 10,b0: 2,c0: 3,b1: 20,c1: 30,};
我们可以假设新数组的长度将基于这些对象键的最高结束位。因此,在这种情况下,长度将为2。我希望能够遍历此对象,然后将其作为组以以下形式作为数组推入数组:
mappedObject = [{a:1,b:2,c:3},{a:10,b:20,c:30}]
因此,基本上所有的a0,b0和c0都分组在一起,并且对于a1,a2和a3相同。请注意,在成功分组之后,我希望能够删除该数字。
解决方法
您可以分离键并为正确的索引分配值。
const
object = { a0: 1,a1: 10,b0: 2,c0: 3,b1: 20,c1: 30 },result = Object
.entries(object)
.reduce((r,[k,v]) => {
const [,key,index] = k.match(/(\D+)(\d+)/);
if (!r[index]) r[index] = {};
r[index][key] = v;
return r;
},[]);
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
,
我想得太多了。我要做的就是找到一种方法来了解潜在数组的长度,然后简单地循环直到该长度并访问对象,如下所示。要知道我的react应用程序中数组的长度,我必须传递prop的长度。
const mappedObj=[];
for(let i=0;i<2; i++){
mappedObj.push({a: object[`a${i}`],b: object[`b${i}`],c: object[`c${i}`]});
}
console.log(mappedObj);
,
我不认为这些键中没有其他数字,这些数字不属于最后几个数字:
androidTestImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.2'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。