Cannot add property XX, object is not extensible || 递归添加属性无效 ||添加属性值添加了外层 ||react
生活随笔
收集整理的這篇文章主要介紹了
Cannot add property XX, object is not extensible || 递归添加属性无效 ||添加属性值添加了外层 ||react
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
let arrch=[{name:'名字,id:000,children:[name:'名字1,id:111111,children:[name:'名字2,id:222222,children:[ name:'名字3,id:333333,children:[]]]]}]
循環遞歸的方法
function objectfun(arr) {arr.map(item=> {item.user='user';if (item.children&& item.children[0]) {return objectfun(item.children);}});return arr;}如何把上面定義的arrch數組中每一項都添加一個user屬性
let userarr=this.objectfun(arrch)按道理說userarr就已經是最新的添加過user屬性的數組了
錯誤:
Cannot add property XX, object is not extensible
只能外層添加了user屬性,children內沒有
正確方式如下:
完整代碼
let arrch=[{name:'名字,id:000,children:[name:'名字1,id:111111,children:[name:'名字2,id:222222,children:[ name:'名字3,id:333333,children:[]]]]}]function objectfun(arr) {arr.map(item=> {item.user='user';if (item.children&& item.children[0]) {return objectfun(item.children);}});return arr;}//使用方式 function click(){const newArr = JSON.parse(JSON.stringify(arrch));let newArrUser=this.objectfun(newArr ) }完成!!!
關鍵代碼是:
JSON.parse(JSON.stringify(arrch))
總結
以上是生活随笔為你收集整理的Cannot add property XX, object is not extensible || 递归添加属性无效 ||添加属性值添加了外层 ||react的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Scala语言基础详解,并在IDEA中安
- 下一篇: Hadoop Day06~MapRedu