JS陣列相關

2021-09-12 07:05:34 字數 3884 閱讀 7581

1.push() js陣列插入(改變原有陣列

var a = [1,2,3];

var b = a.push('4','5');

console.log(a); //[1,2,3,4,5]

console.log(b); //5

2.pop() 返回陣列最後乙個元素(改變原有陣列

var a = [1,2,3];

var b = a.pop();

console.log(a); //[1,2]

console.log(b); //3

3.concat() 鏈結兩個或者多個陣列(不改變原有陣列)

var a = [1,2,3];

var b = a.concat(6,7);

console.log(a); //[1,2,3]

console.log(b); //[1,2,3,6,7]

4.join(str) 把陣列的所有元素用str隔開返回字串(不改變原有陣列)

var a =[1,2,3];

var b = a.join('');

console.log(a);//[1,2,3]

console.log(b);//"123"

5.tostring() 返回字串(不改變原有陣列)

var a =[1,2,3,4,5];

var b = a.tostring();

console.log(a);//[1,2,3,4,5]

console.log(b);//"1,2,3,4,5,6"(逗號也會保留下來)

6.reverse() 反轉陣列元素順序(改變原有陣列

var a = [1,2,3,4,5];

var b = a.reverse();

console.log(a);//[1,2,3,4,5]

console.log(b);//[5,4,3,2,1]

7.shift() 刪除並返回陣列的第乙個元素(改變原有陣列

var a = [1,2,3,4,5];

var b = a.shift();

console.log(a);//[2,3,4,5]

console.log(b);//1

8.slice(start,end) 從已有的陣列中返回選定的元素(不改變原有陣列)

var a  = [1,2,3,4,5];

var b = a.slice(0,-1);

var c = a.slice(1,3);

var d = a.slice(1);

var e = a.slice(2,-2);

var f = a,slice(3,1);

console.log(a);//[1,2,3,4,5]

console.log(b);//[1,2,3,4]

console.log(c);//[2,3]

console.log(d);//[2,3,4,5]

console.log(e);//[3]

console.log(f);//

9.splice(start,deletecount,val1,val2…)從乙個陣列中移除乙個或多個元素,並在該位置插入新元素,返回所移除的元素改變原有陣列

var a =[1,2,3,4,5]

var b = a.splice(2,2,7,8);

console.log(a);//[1,2,7,8,5]

console.log(b);//[3,4]

10.sort(func) 對陣列元素排序改變原有陣列

var a = [1,2,10,3];

var b = a.sort();

console.log(a); //[1,10,2,3]

console.log(b); //[1,10,2,3](按照字母公升序)

var num = function(x,y) //數字公升序

var c = a.sort(num);

console.log(a); //[1,2,3,10]

console.log(c); //[1,2,3,10]

var ary = [1,2,3,4];

ary.splice(0,ary.length);

console.log(ary);//輸出

int ary = ;

ary = ;

int ary = ;

ary.length = 0;

1.陣列轉字串(join())

a = new array(1,2,3,4,5); 

b = a.join(''); //abcde

2.字串轉陣列 (split())

var str = 'ab+c+de';

var a = str.split('+'); // [ab, c, de]

var b = str.split(''); //[a, b, +, c, +, d, e]

3.陣列轉json格式 (json.stringify())

要點:在js裡寫陣列的時候是var data = new array() 但是你如果是要轉json顯示的時候就要寫成 var data = {},不然轉出來的json全是空的。

var data = {}; //定義乙個陣列 這裡我們吧new array()換成{}的形式

for (var i = 0; i < 5; i++) ;

data[i]['day'] = '2018-06-01';

data[i]['time_data'] = '資料';

}console.log(data); //列印陣列

var res = json.stringify(data); //轉換json列印

console.log(res);

var u=[undefined,undefined,1,'','false',false,true,null,'null'];

u.filter(d=>d);//[1,"false",true,"null"]

1.遍歷陣列法

它是最簡單的陣列去重方法(indexof方法)

實現思路:新建乙個陣列,遍歷去要重的陣列,當值不在新陣列的時候(indexof為-1)就加入該新陣列中;

var arr=[2,8,5,0,5,2,6,7,2];

function unique1(arr)

} return hash;

}

2.優化遍歷陣列法(推薦)

實現思路:雙層迴圈,外迴圈表示從0到arr.length,內迴圈表示從i+1到arr.length

將沒重複的右邊值放入新陣列。(檢測到有重複值時終止當前迴圈同時進入外層迴圈的下一輪判斷)

function unique4(arr)

}hash.push(arr[i]);

} return hash;

}

3.es6實現

基本思路:es6提供了新的資料結構set。它類似於陣列,但是成員的值都是唯一的,沒有重複的值。

set函式可以接受乙個陣列(或類似陣列的物件)作為引數,用來初始化。

function unique5(arr)

js陣列相關

var arr a,b,c 如果要定義乙個二維陣列,要用for迴圈來定義 var arr newarray for var i 0 i 2 i 優化版的for迴圈遍歷 for j 0,len arr.length j len j foreach遍歷 jsonobj.foreach function ...

js陣列相關

const require request 陣列迴圈 foreach map for of foreach適用於只是進行集合或陣列遍歷,for則在較複雜的迴圈中效率更高。foreach不能對陣列或集合進行修改 新增刪除操作 如果想要修改就要用for迴圈 foreach就是for迴圈的簡化沒有返回值 ...

js陣列相關操作

hash關聯陣列定義 定義空陣列 myhash 直接定義陣列 myhash 用array 定義陣列 myhash new array myhash key1 val1 myhash key2 val2 向hash關聯陣列新增鍵值 新增乙個新鍵 newkey 鍵值為 newval myhash new...