javascript - 如何通过迭代创建对象
问题描述
如果我想要超过 3 个对象怎么办?我可以以某种方式循环它吗?
let newArr = []
let newObj1 = {}; let newObj2 = {}; let newObj3 = {};
newArr.push(newObj1);
newArr.push(newObj2);
newArr.push(newObj3);
console.log(newArr);
如果我添加第三个循环,我的阵列会刹车,我该如何替换它?这是我的完整代码:
让 arr = [ {fullName:{surname:'xxx',firstName:'yyy',middleName:'zzz'}},{fullName:{surname:'XXX',firstName:'YYY',middleName:'ZZZ'} } ] let boolObj = {fullName : {surname : true, firstName : true, middleName: false}} let loc = {"fullName.surname" : "Прізвище", "fullName.middleName" : "По-батькові"}
让 newArr = [] newObj1 = {}; newObj2 = {}; newObj3 = {};
for (var i = 0; i < arr.length; i++) { 让 arrObjKeys = Object.keys(arr[i]); 让 arrObjObjKeys = Object.keys(Object.values(arr[i])[0]); 让 arrObjObjValues = Object.values(Object.values(arr[i])[0]); 让 boolObjValues = Object.values(Object.values(boolObj)[0]); 让 locObjKeys = Object.keys(loc); 让 boolObjStr1 =
${Object.keys(arr[i])}.${arrObjObjKeys[0]}
; 让 boolObjStr3 =${Object.keys(arr[i])}.${arrObjObjKeys[2]}
; 让 ojbStr1 =value${i+1}
if(boolObjStr1 === locObjKeys[0] && arrObjObjValues[0] !== '') { newObj1.name = loc[boolObjStr1]; newObj3.name = loc[boolObjStr3]; newObj2.name = arrObjObjKeys[1]; } for(let j = 0; j < 3; j++) { if(boolObjValues[0] === true) { newObj1[ojbStr1] = arr[i][arrObjKeys][arrObjObjKeys[j-2]]; } if(boolObjValues[1] === true) { newObj2[ojbStr1] = arr[i][arrObjKeys][arrObjObjKeys[j-1]]; } if(boolObjValues[2] === true) { newObj3[ojbStr1] = arr[i][arrObjKeys][arrObjObjKeys[j]]; } } } newArr.push(newObj1); newArr.push(newObj2); newArr.push(newObj3);控制台.log(newArr);
将来我想在我的 arr 中添加对象,例如:
让 arr = [ {fullName : {surname : 'xxx', firstName : 'yyy', middleName: 'zzz', data : {xxx: 'Boom'}}} ]
在这些代码之后
newObj1 = {}; newObj2 = {}; newObj3 = {}; 变成不好的解决方案?
但是如果我遍历我的
newObj1 = {}; newObj2 = {}; newObj3 = {};
这将是 3 个循环,我的代码将被破坏。请告诉如何解决它?
解决方案
似乎是一个相当普遍/基本的问题,但为什么不尝试一个简单的 for 循环呢?
let arr = [];
for (var x = 0; x < 100; x++) {
const object = new Object();
arr.push(object);
}
推荐阅读
- javascript - 如何仅表示其 Unicode 属性在 Nd (Decimal_Digit_Number) 类别中的一些特定数字?
- powerbi - 计数条纹或连续重复值 DAX
- json - 从 celery 中保存数据类型 JSONField
- php - 以 MVC 模式将 css 连接到 html
- python - 使用 Opensearch 服务的 Python Lambda 函数使用来自 DynamoDB 的数据将时间戳添加到文档
- arrays - 您可以动态填充经典 ASP 常量 (CONST) 吗?
- amazon-web-services - AWS Cognito Google IdP - 自定义 OAuth 同意屏幕
- python - 如何保持 ruby 进程运行
- modelica - 无法在 openmodelica 上表示变量
- matomo - 如何使用 Matomo 跟踪 Icecast2 访问?