javascript - 数组和对象操作
问题描述
所以我在练习一些 JS,这就是我在数组中遇到的嵌套对象。如何更改每个元素的年龄值。我想用数量、大小、product._id、product.variant._id我的原始数据更改将这些值保存在新对象中的结构
我希望的改变 我想要实现的改变到目前为止我能够做到这一点,但不是一成不变的
[
{
"quantity": 4,
"size": "S",
"product": {
"_id": "607283d971fbe12de4e42ebe",
"title": "LEVI Denim",
"name": "TRUCKER JACKET",
"category": "men",
"price": 8999,
"rating": 5,
"sales": 69,
"variant": {
"img": [
"https://lsco.scene7.com/is/image/lsco/levis/clothing/723340131-front-pdp.jpg?fmt=jpeg&qlt=70,1&op_sharpen=0&resMode=sharp2&op_usm=0.8,1,10,0&fit=crop,0&wid=1250&hei=1667",
"https://lsco.scene7.com/is/image/lsco/levis/clothing/723340131-back-pdp.jpg?fmt=jpeg&qlt=70,1&op_sharpen=0&resMode=sharp2&op_usm=0.8,1,10,0&fit=crop,0&wid=1050&hei=1400",
"https://lsco.scene7.com/is/image/lsco/levis/clothing/723340131-alt1-pdp.jpg?fmt=jpeg&qlt=70,1&op_sharpen=0&resMode=sharp2&op_usm=0.8,1,10,0&fit=crop,0&wid=1050&hei=1400"
],
"_id": "607283d971fbe12de4e42ecb",
"variantAvailability": true,
"size": [
{
"_id": "607283d971fbe12de4e42ecc",
"symbol": "S",
"stock": 4
},
{
"_id": "607283d971fbe12de4e42ecd",
"symbol": "L",
"stock": 13
}
]
},
"__v": 0
}
}
]
解决方案
您可以在 JavaScript 中使用 map() 方法,该方法通过对父数组中存在的每个元素调用特定函数来创建数组
const arr = [
{
"quantity": 4,
"size": "S",
"product": {
"_id": "607283d971fbe12de4e42ebe",
"title": "LEVI Denim",
"name": "TRUCKER JACKET",
"category": "men",
"price": 8999,
"rating": 5,
"sales": 69,
"variant": {
"img": [
"https://lsco.scene7.com/is/image/lsco/levis/clothing/723340131-front-pdp.jpg?fmt=jpeg&qlt=70,1&op_sharpen=0&resMode=sharp2&op_usm=0.8,1,10,0&fit=crop,0&wid=1250&hei=1667",
"https://lsco.scene7.com/is/image/lsco/levis/clothing/723340131-back-pdp.jpg?fmt=jpeg&qlt=70,1&op_sharpen=0&resMode=sharp2&op_usm=0.8,1,10,0&fit=crop,0&wid=1050&hei=1400",
"https://lsco.scene7.com/is/image/lsco/levis/clothing/723340131-alt1-pdp.jpg?fmt=jpeg&qlt=70,1&op_sharpen=0&resMode=sharp2&op_usm=0.8,1,10,0&fit=crop,0&wid=1050&hei=1400"
],
"_id": "607283d971fbe12de4e42ecb",
"variantAvailability": true,
"size": [
{
"_id": "607283d971fbe12de4e42ecc",
"symbol": "S",
"stock": 4
},
{
"_id": "607283d971fbe12de4e42ecd",
"symbol": "L",
"stock": 13
}
]
},
"__v": 0
}
}
];
let tempArr = arr.map(element=>{
element['productId'] = element.product._id;
element['variantId'] = element.product.variant._id;
delete element['product'];
return element;
});
推荐阅读
- vuejs2 - 不受欢迎的观察者执行顺序
- apache-kafka - Kafka 在某些主题上有 100% 的低复制分区
- html - 我希望显示类型网格内的图像在用作背景时显示为封面,但在我的情况下它是垂直挤压的
- android - 房间数据库在加载聊天时获取最后的聊天消息
- python - 无法添加 BinarySubTree
- flutter - ListView 与最喜欢的项目
- python - 如何将两个字典与里面的列表进行比较?
- mongodb - 如何将gitlab中的golang连接到gitlab-ci中的mongodb容器
- javascript - OpenLayers:将地图锁定到矢量的范围
- python - 如何在 polyfit() 的权重的两个变量中包含错误