日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数组常用操作

發布時間:2023/12/31 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数组常用操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

講幾個前端開發常用的問題吧,關于數組的。如果有問題,可能就是我太LOW了,
昨天去外面走走,感覺非常不錯,附幾張照片~


1-數組去重

> var arr = [1,2,3,4,3,4]; > var arr2 = [...new Set(arr)];

2-字符串反轉

> var str = "helloxiaoMing"; > var str2 =str.split('').reverse().join('');

3-深拷貝

function deepClone(obj) {var o = obj instanceof Array ? [] : {};for(var k in obj) o[k] = typeof obj[k] === Object ? deepClone(obj[k]) : obj[k];return o;}var a = [[1, 2, 3], [4, 5, 6, 7]];var c= {a:"111",b:"2222",e:{x1:"22",x2:"33"}};var b = deepClone(a);var d = deepClone(c);console.log(b);console.log(d);

4-二維數組降為一維數組

var arr = [1,2,3,[4,5,6,[7,8,9]]];function reduceDimension(arr) {var tmp = arr;var result = arr;while(tmp instanceof Array) {result = Array.prototype.concat.apply([], result);tmp = tmp[0];}return result;}console.log(reduceDimension(arr));

5-打亂一個數組

function randArray(data){//獲取數組長度var arrlen = data.length;//創建數組 存放下標數var try1 = new Array();for(var i = 0;i < arrlen; i++){try1[i] = i;}//創建數組 生成隨機下標數var try2 = new Array();for(var i = 0;i < arrlen; i++){try2[i] = try1.splice(Math.floor(Math.random() * try1.length),1);}//創建數組,生成對應隨機下標數的數組var try3 = new Array();for(var i = 0; i < arrlen; i++){try3[i] = data[try2[i]];}return try3;}var arr = ["a","b","c","d"];alert(randArray(arr));

8-多維數組降維 使用generator迭代器

var arr = [1, [[2, 3], 4], [5, 6]];var flat = function* (a) {var length = a.length;for (var i = 0; i < length; i++) {var item = a[i];if (typeof item !== 'number') {yield* flat(item);} else {yield item;}} };for (var f of flat(arr)) {console.log(f); }

總結

以上是生活随笔為你收集整理的数组常用操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。