json数组排序,深拷贝,浅拷贝,删除,增加,筛选,
生活随笔
收集整理的這篇文章主要介紹了
json数组排序,深拷贝,浅拷贝,删除,增加,筛选,
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
json數組排序,深拷貝,淺拷貝,刪除,增加
一 根據json里面的某個數值排序,倒敘或者順序
sort會改變原數組,因為這個差點和后端打起來了!!!
后來發現,是sort惹的禍,
至于我是怎么踩得坑,就不寫了,
下面是真確的方法,記住就好了;
需求;
一 添加新的用戶時,接口返回數據,會將它添加在數組的第一個;
二 前端顯示數組,要按照年齡的大小顯示
注:至于為什么不讓后端排序好,因為我需要當前數組第一個數據
一般后臺給的數據是這樣的
淺拷貝和深拷貝的區別是,一個改變原數組,一個不改變;
** 1.淺拷貝是指, 修改B對象的屬性和方法會影響到A對象的屬性和方法, 我們稱之為淺拷貝 **
var arr = res.info; // 這樣寫的話,不管你將arr數組處理成啥樣的,打印 arr 和 res,info 是一樣的即 console.log(res.info) 和 *console.log(arr)* 是一樣的,// 本質上是res.info和arr都指向了同一塊存儲空間// 所以無論是修改res.info還是arr都會影響到另外一個** 深拷貝是指, 修改B對象的屬性和方法不會影響到A對象的屬性和方法, 我們稱之為深拷貝 **
var arr = [...res.info]; 這樣 console.log(res.info) 和 *console.log(arr)* 在接下來你修改他們其中一個,另一個的數據都不會跟著發生改變從富文本 里面獲取所有圖片地址的方法
原來是這樣的
// res.data.info.description <p><p><p><img src="https://wxiong.cn/cofc.png"/></p><p><img src="https://wxixiong.cn/6aba1b.png"/></p></p></p>處理方法
var str = res.data.info.description;var imUrl = str.match(/src="([^"]*)/g).map(s => s.substring(5));console.log(imgUrl)打印出來是這樣的
["https://wxiong.cn/cofc.png", "https://wxixiong.cn/6aba1b.png"]篩選出你想要的的字段 filter()
在一個json數組里面篩選type是banner的相應數組
let dataInfo = res.data.info.all_data;let banner = dataInfo.filter((e) => {if(e.type == 'banner'){return e }}) that.setData({banner:banner[0].list,advert:advert})刪除一些字段
let dataInfo = res.data.info.all_data;let banner = dataInfo.filter((e) => {if(e.type != 'banner'){return e }}) // 刪除type:banner的數組that.setData({banner:banner[0].list,advert:advert})總結
以上是生活随笔為你收集整理的json数组排序,深拷贝,浅拷贝,删除,增加,筛选,的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: drupal html5,基于Drupa
- 下一篇: 寒假作业10