如何解决将项目从另一个数组添加到对象数组
data = [1,2,3,4,5]
obj = [{"Name":"ABC","Age":25,"Gender":"M"},{"Name":"DEF","Age":32,"Gender":"F"},{"Name":"PQR","Age":30,{"Name":"XYZ","Gender":"F"}]
我需要将数据数组的每个元素推送到数组的每个对象中。我的预期输出是这样的:
obj = [{"Name":"ABC","Gender":"M","Data":1},"Gender":"F","Data":2},"Data":3},"Data":4}]
我是这样试的:
for(let i = 0; i<data.length; i++){
obj.push({data:data[i])
}
但这给出了一个不正确的结果:
obj = [{"Name":"ABC",{"Data":1},{"Data":2},{"Data":3},{"Data":4}]
我知道这是因为在将项目推入对象数组之前我没有遍历对象数组。但是我无法同时遍历数据和 obj。请帮我解决问题。提前致谢。
解决方法
有多种方法可以实现预期的输出。
这是其中一种方法,使用Array.map
和解构
const data = [{"Name":"ABC","Age":25,"Gender":"M"},{"Name":"DEF","Age":32,"Gender":"F"},{"Name":"PQR","Age":30,{"Name":"XYZ","Gender":"F"}];
const array = [1,2,3,4,5];
const formattedData = (data,array) => data.map((obj,i) => (
{
...obj,Data: array[i]
}
));
console.log(formattedData(data,array));
.as-console-wrapper {
max-height: 100% !important;
}
它可以通过扩展运算符来解决。请看下面的代码。
Epoch 00039: val_loss did not improve from 0.25448
21/21 - 1s - loss: 0.1955 - r2: 0.8454 - val_loss: 0.2567 - val_r2: -2.2881e+05
Epoch 40/300
Epoch 00040: val_loss did not improve from 0.25448
21/21 - 1s - loss: 0.2391 - r2: 0.8107 - val_loss: 0.2590 - val_r2: -2.0155e+05
Epoch 41/300
Epoch 00041: val_loss did not improve from 0.25448
21/21 - 1s - loss: 0.2320 - r2: -1.6388e+00 - val_loss: 0.2568 - val_r2: -2.8148e+05
Epoch 42/300
Epoch 00042: val_loss did not improve from 0.25448
21/21 - 1s - loss: 0.2085 - r2: 0.8350 - val_loss: 0.2574 - val_r2: -2.4499e+05
Epoch 43/300
Epoch 00043: val_loss did not improve from 0.25448
21/21 - 1s - loss: 0.2198 - r2: 0.8065 - val_loss: 0.2579 - val_r2: -2.2686e+05
Epoch 44/300
predict successfully!
test mse: 0.384
test rmse: 0.620
test mape: 0.004
test mae: 0.491
test evs: 0.881
test r2: 0.881
假设两个数组的长度相同:
for (let i = 0; i < data.length; i++) {
obj[i].Data = data[i];
}
,
DateTime startDate = _pickedStartDate;
DateTime endDate = _pickedEndDate;
final daysLeft = endDate.difference(startDate).inDays;
print(daysLeft);
,
const data = [{"Name":"ABC","Gender": "F"},"Gender":"F "}]; const 数组 = [1,5];
这里需要考虑的几件事是我们需要长度与数据和数组相同的新对象。
在 map 函数的帮助下,我们可以获得 eachData 和 eachData 的索引,在这种情况下我们可以通过添加 Data
来改变对象。
我们需要添加右括号,因为Rest 参数必须是最后一个形参 忘记哪个会抛出语法错误
const formattedData = (data,array) => data.map((eachData,i)=> ({...eachData,Data:array[i]}))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。