记录一下,可以直接跳过,看下面的错误和正确示范
今天在写项目的时候,程序中的一个操作是需要在更新画布的同时将对应的json也进行同步更新,而更新这个json时需要将一个map对象转为json格式,然后赋值给json 的一个属性[暂时叫这个属性为 jMap]. 但每次更新json后,json的jMap属性都为空,因为这个操作的代码逻辑相对比较复杂,而且一开始也没想到会是这里出问题,所以这个问题找了找了将近两个小时才发现问题的根源,就是出在将map对象转为json格式上,先看一下我之前的错误示范:
错误的遍历方法
//这个是错误示范,这样是进不了for循环的 let arr = new Array(); for (let i in map){
let temp={
"name":'',"val":''}; temp.name=i; temp.val=map[i]; arr.push(temp); }
正确的遍历方法(之一):
let arr = new Array(); map.forEach(function(value, key, map) {
let temp={
"name":'',"val":''}; temp.name=key; temp.val=value; arr.push(temp); })
[可以不看]总结:
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/176070.html原文链接:https://javaforall.net
