2018 6 2 《JS運算元組(純潔方法)》

2022-02-15 07:53:43 字數 3368 閱讀 5639

/*****************************************===

不影響原陣列方法, 「純真」方法(8個)有:   

1. slice() 淺拷貝陣列元素

2. join() 將陣列中的所有元素轉換為以某符號隔開的字串

3. tolocatestring() 陣列轉字串

4. tostring() 陣列轉字串(不推薦使用)

5. cancat() 合併兩個或多個陣列,返回乙個新陣列

6. indexof() 查詢陣列中是否存在某個元素,如果存在,返回下標

7. lastindexof() 查詢指定元素在陣列中最後乙個位置

8. includes() es7 查詢是否包含某個元素,返回布林

****************************************===*/

一. slice

//語法

end);

let arr = [1,2,3];

console.log(arr.slice(0,2)); [1,2], 拷貝了從第0個元素到第二個元素(開區間)

console.log(arr); //[1,2,3],原陣列不變

let arr = ['大公尺','禽蛋'];

console.log(arr.slice(0,1)); //[ '大公尺']

console.log(arr); //['大公尺','禽蛋'],原陣列值不變

arr[0] = '小龍蝦';

console.log(arr); //['小龍蝦','禽蛋'], arr[0]會改變原陣列值

//複雜資料會聯動改變

let arr = ;

let ret = arr.slice();

console.log(ret,arr);

arr[0].name = '小龍嚇變身';

console.log(ret,arr);

二. join

// [1,2,3,4]會轉字串

let arr = [1,2,3,4];

let ret = arr.join('&');

console.log(ret); //'1&2&3&4'

console.log(typeof ret); //string

//巢狀情況

let arr = ['a', ['bb','cc'], 'd'];

let ret = arr.join();

console.log(ret); //"a,bb,cc,d", 與arr.join(',');一樣

let ret _1= arr.join('');

console.log(ret_1); //abb,ccd

let ret _2= arr.join(','); //"a,bb,cc,d", 同arr.join();

console.log(ret_2);

let ret _3= arr.join('&');

console.log(ret_3); //a&bb, cc&d

三.  tolocalestring

let arr = [1,2,3,4];

let ret = arr.tolocalestring();

console.log(ret); //"1,2,3,4"

console.log(typeof ret); //string

let arr_1 = [,,2,3,4];

let ret_1 = arr_1.tolocalestring();

console.log(ret_1); //"[object,object],[object,object],2,3,4"

console.log(typeof ret_1); //string

四. tostring

五.concat 

//合併兩個或多個陣列,返回乙個新陣列,原陣列保持純潔

// 語法: (舊的).cancat(新的)

let arr_1 = ['h','e','l',];

let arr_2 = ['l','o'];

let ret = arr_1.concat(arr_2);

console.log(ret); //['h','e','l','l','o']

console.log(ret.join('')); //hello

//用concat插入元素

let arr = [1,2];

let ret = arr.concat('哈哈');

console.log(ret); //['1','2','哈哈']

//合併巢狀陣列,會淺拷貝

let arr_1 = [1,2,3,['c','d'],4,5];

let arr_2 = ['ok',9];

let ret = arr_1.concat(arr_2);

console.log(ret); //[1, 2, 3, array(2), 4, 5, "ok", 9]

六. indexof

// 注意:是對陣列中元素,而非針對一串字串, 遵守「===」全等原則

let ret = arr.indexof('哈哈'),

ret_1 = arr.indexof('哈');

console.log(ret); //0,表示元素位置;一般用》-1判斷包含;

console.log(ret_1); //-1,表示沒有, 一般用(indexof('xx')<0)判斷沒有;

七. lastindexof

// 語法 arr.lastindexof('str', fromindex);

// fromindex如果指定了,比如4,就從下標4截止到下表0為搜尋範圍,是向左逆向;

let arr = ['a','good',1,2,'good',4,'foo',5,'good',6,'bar',9];

let ret_1 = arr.lastindexof('good',2);

let ret_2 = arr.lastindexof('good',5);

let ret_3 = arr.lastindexof('good');

console.log(ret_1); //1

console.log(ret_2); //4

console.log(ret_3); //8

八. (略,見下篇)

js運算元組

1 建立陣列 var array new array var array new array size 指定陣列的長度 var array new array item1,item2 itemn 建立陣列並賦值 2 取值 賦值 var item array index 獲取指定元素的值 array ...

運算元組 JS

新增鏈結描述 來自 object.is data1,data2 判斷資料是否相等 new map new set join 陣列分割字串 push 和pop 新增 和刪除 shift 和 unshift 方法用於把陣列的第乙個元素從其中刪除,並返回刪除的值。sort reverse concat s...

js運算元組

2012 12 28 17 34 09 標籤 分類 日常學習 一直在使用js相關的東西,但很少作總結,今天遇到操作js陣列的一些問題,對js的陣列有了更進一步的認識!1 建立陣列 var array new array var array new array size 指定陣列的長度 var arr...