javascript - 无法遍历 Javascript 对象
问题描述
我有以下对象(从失眠返回)
[
{
"field": 10.5,
"this_is_a_bool": 1,
"name": "",
"data": "2018-05-22T03:00:00.000Z",
"field2": null
},
{
"field": 5.3,
"this_is_a_bool": 0,
"name": "Slim Shady",
"data": "2020-01-22T04:45:00.000Z",
"field2": null
}
]
问题是我不能迭代那些“值集”,所以我可以编辑它们。
做这样的事情:
for (const val in myObj) {
if (val.field2 === null) {
val.field1 = 'flag - ' + val.field1
}
}
我试过的:
for (const val in myObj)
for (const val of myObj)
const [key,value] of Object.entries(myObj)
错误:有时它会说myObj is not iterable
,有时代码会被忽略。
解决方案
你为什么不使用简单.map()
:
const src = [{"field":10.5,"this_is_a_bool":1,"name":"","data":"2018-05-22T03:00:00.000Z","field2":null},{"field":5.3,"this_is_a_bool":0,"name":"Slim Shady","data":"2020-01-22T04:45:00.000Z","field2":null}],
result = src.map(({field, field2, ...rest}) => ({
field: field2 === null ? `flag-${field}` : field,
field2,
...rest
}))
console.log(result)
.as-console-wrapper{min-height:100%;}
推荐阅读
- java - java.lang.ArithmeticException:除以零
- r - 在R中合并表格,如果在两者中则合并单元格
- micronaut - @Client 没有从 /measure 端点接收正文
- rest - 使用 Google Tag Manager 和 JSforce 发布到 Salesforce API 不起作用?
- c++ - lambda 是一个合适的对象吗?
- c++ - 我的内部循环 xml 在 C++ 向量中没有按预期使用 write_xml
- html - 将元素固定到视口顶部
- android - 再次向上滚动时Android ArrayAdapter空对象引用错误
- ios - 使用 USB 进行 Safari iOS 调试显示空白屏幕
- json - Django的POST方法