1. 程式人生 > >JS 陣列訪問方法

JS 陣列訪問方法

1. Array.form() 防範從一個類似陣列或可迭代物件中建立一個新的陣列例項

var arr1 = {
    '0': 'c',
    '1': 'd',
    '2': 'f',
    length: 3
};
var str = 'hello';
var arr2 = [6, 4, 2];

var put1 = Array.from(arr1);
var put2 = Array.from(str);
var put3 = Array.from(arr2, x=>x + x);

console.log(put1);            //[ 'c', 'd', 'f' ]
console.log(arr1);            //{ '0': 'c', '1': 'd', '2': 'f', length: 3 }    
console.log(put2);            //[ 'h', 'e', 'l', 'l', 'o' ]
console.log(str);             //hello
console.log(put3);            //[ 12, 8, 4 ]
console.log(arr2);            //[ 6, 4, 2 ]

2. Array.isArray() 判斷值是否為陣列

var arr1 = [1,4,8];
var str1 = 'hello';

console.log(Array.isArray(arr1));       //true
console.log(arr1);                      //[ 1, 4, 8 ]
console.log(Array.isArray(str1));       //false
console.log(str1);                      //hello

3. Array.of() 方法建立一個具有可變數量引數的新陣列例項,而不考慮引數的數量或型別 

var str1 = Array.of('arr');
var str2 = Array('arr');
var arr1 = Array.of(5,3,8);
var arr2 = Array(5,3,8);
var arr3 = Array.of(5);
var arr4 = Array(5);

console.log(str1);          //[ 'arr' ]
console.log(str2);          //[ 'arr' ]
console.log(arr1);          //[ 5, 3, 8 ]
console.log(arr2);          //[ 5, 3, 8 ]
console.log(arr3);          //[ 5 ]
console.log(arr4);          //[ , , , ,  ]

 4. concat() 方法合併兩個或多個數組,返回一個新陣列

var arr1 = [5, 8, 3];
var arr2 = ['t', 'y', 'i'];
var arr3 = arr1.concat(arr2);

console.log(arr1);      //[ 5, 8, 3 ]
console.log(arr2);      //[ 't', 'y', 'i' ]
console.log(arr3);      //[ 5, 8, 3, 't', 'y', 'i' ]

5. includes() 方法用來判斷是否包含一個指定的值,如果包含則返回 true,不包含返回 false

var arr1 = [6,4,3];
var arr2 = ['g','u','i','o'];

var tag1 = arr1.includes(6);
var tag2 = arr1.includes(5);
var tag3 = arr2.includes('o');
var tag4 = arr2.includes('k');

console.log(tag1);          //true
console.log(tag2);          //false
console.log(arr1);          //[ 6, 4, 3 ]
console.log(tag3);          //true
console.log(tag4);          //false
console.log(arr2);          //[ 'g', 'u', 'i', 'o' ]

6. join() 方法,連線所有陣列元素組成字串

var arr1 = [5, 3, 2, 8];
var arr2 = ['h', 'e', 'l', 'l', 'o'];

var str1 = arr1.join();
var str2 = arr1.join('')
var str3 = arr2.join();
var str4 = arr2.join('+');

console.log(str1);              //5,3,2,8
console.log(str2);              //5328
console.log(arr1);              //[ 5, 3, 2, 8 ]
console.log(str3);              //h,e,l,l,o
console.log(str4);              //h+e+l+l+o
console.log(arr2);              //[ 'h', 'e', 'l', 'l', 'o' ]

7. slice() ,抽去陣列中的一段元素組合成一個新陣列,引數 start——起始位置,end——結束位置。

var arr1 = [3, 4, 2, 1, 7, 9];
var arr2 = arr1.slice(3, 5);

console.log(arr2);          //[ 1, 7 ]
console.log(arr1);          //[ 3, 4, 2, 1, 7, 9 ]

8. toSource(),返回一個字串,代表改陣列的原始碼(只有火狐瀏覽器支援)

//火狐瀏覽器
var arr = [3,5,6];
console.log(arr.toSource());        //[3, 5, 6]

//谷歌瀏覽器
var arr = [3,5,6];
console.log(arr.toSource());        //VM105477:3 Uncaught TypeError: arr.toSource is not a function

 9. toString(),返回一個由陣列元素組合而成的字串

var arr1 = [4, 6, 4, 'h', 'e', 'l', 'l', 'o'];
var arr2 = arr1.toString();

console.log(arr2);      //4,6,4,h,e,l,l,o
console.log(arr1);      //[ 4, 6, 4, 'h', 'e', 'l', 'l', 'o' ]

10. toLocaleString(),返回一個所有陣列組合而成的本地化後的字串

var arr1 = [6,4,3];
var arr2 = arr1.toLocaleString();

console.log(arr2);          //6,4,3
console.log(arr1);          //[ 6, 4, 3 ]

11. indexOf(),返回陣列中第一個與指定值相等的元素的位置,如果不存在,返回-1

var arr = [6,4,3,2,8,'o','k'];

console.log(arr.indexOf(6));            //0
console.log(arr.indexOf(5));            //-1
console.log(arr.indexOf('o'));          //5
console.log(arr.indexOf('p'));          //-1
console.log(arr);                       //[ 6, 4, 3, 2, 8, 'o', 'k' ]

12. lastIndexOf(),返回陣列中最後一個與指定值相等的元素的位置,不存在,返回-1

var arr = [5, 3, 9, 'o', 'k', 5, 'o'];

console.log(arr.lastIndexOf(5));            //5
console.log(arr.lastIndexOf(6));            //-1
console.log(arr.lastIndexOf('o'));          //6
console.log(arr.lastIndexOf('p'));          //-1
console.log(arr);                           //[ 5, 3, 9, 'o', 'k', 5, 'o' ]

相關推薦

JS 陣列訪問方法

1. Array.form() 防範從一個類似陣列或可迭代物件中建立一個新的陣列例項 var arr1 = { '0': 'c', '1': 'd', '2': 'f', length: 3 }; var str = 'hello'; var

JS 陣列克隆方法總結

ES5 方法總結 1.slice let arr = [2,4,434,43] let arr1= arr.slice() arr[0] = 'a' console.log(arr,arr1) // [ 2, 4, 434, 43 ] console.log(arr1 === arr) // fal

js 陣列方法總結

都是基礎 必須掌握! 網上找找資料認認真真敲一邊,算是有了個大概的認識! 改變原陣列的方法(9個): pop()  a.shift()  push()  unshift()  reverse()  splice()  &n

JS進階篇--JS陣列reduce()方法詳解及高階技巧

去除巢狀的思路: 用遞迴、reduce()、concat()來實現。 遞迴解決多層巢狀,reduce()解決每層陣列的迭代拼接,concat()來拼接陣列即拆除一層巢狀。 let sum = [0, 1, 2, 3].reduce(function(acc, val)

JS陣列常用方法:forEach、map、filter、some、every,filter與map區別

forEach() 方法對陣列的每一個元素執行一次提供的函式。 map() 方法建立一個新陣列,其結果是該陣列都執行一次函式,原函式保持不變。 filter() 方法使指定函式測試陣列的每一個元素,並放回一個通過元素的新陣列。 some() 方法測試該陣列有元素通過了指

JS 陣列常用方法

1.   sort() (1) 對陣列的元素進行排序 1 // time: "2019-01-11 14:02:38" 2 // 升序 3 list.sort(function(a,b) { 4 return a.time > b.time ? 1:

js陣列克隆方法 總結

方法一:for(){} 最笨low的方法 Array.prototype.clone = function(){ var a = []; for(var i=0;i<this.length;i++){ a.push(

JS陣列方法彙總

工具類方法 Array.from() :從一個類似陣列或者可迭代物件中建立一個新的陣列例項。用一種更通俗易懂的方式來說,就是Array.from方法用於將兩類物件轉為真正陣列:類陣列物件(array-like object)和可遍歷(iterable)的物件。實際應用中,常見的類陣列物件是 DOM 操作返回

js 陣列清空 方法 彙總

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>js清空陣列的方法</title> </he

js判斷是否是陣列方法

1.instanceof var arr = [1,2,3]; arr instanceof Array 要注意,instanceof Array 只適用於與陣列初始化在相同上下文中才有效,且不能跨iframe 2.Array.isArray() Array.isArr

js陣列拼接的四種方法

var a = [1,2,3,4,5,6]; var b=["foo","bar", "fun"]; 最終的結果是: [1,2,3,4,5,6,"foo","bar","fun"] 方法1:concat c=a.concat(b); c是新陣列,此時記憶體使用有,c,a,

一些常用 js 對於 陣列 字串 方法總結

一 、陣列concat連線 var arrayA = [1,2,3] var arrayB = [4,5,6] var arrayC = [7,8,9] console.log(arrayA.concat(arrayB)) //(6) [1,2,3,4,5,6] console.log(

原聲JS中indexOf()方法陣列中的應用一

定義和用法 indexOf() 方法可返回某個指定的字串值在字串中首次出現的位置。 提示和註釋 註釋:indexOf() 方法對大小寫敏感! 註釋:如果要檢索的字串值沒有出現,則該方法返回 -1。 註釋:字元位置是從 0 開

JS 陣列陣列物件的合併去重方法

這次對陣列的操作,我們使用es6的新語法來完成,所以在看下邊程式碼之前,我們要了解我們下邊要用到的es6中的set集合,和for...of 方法: 首先介紹set集合: ES6提供了新的資料結構Set,它類似於陣列,但是成員的值都是唯一的,沒有重複的值。 Set函式可以接受一個數組(

js利用indexof方法實現陣列去重

var arr = [1, 2, 1, 4, 3, 4, 2, 6, 8]; var newArr=[]; for(var i = 0; i < arr.length; i++) { if(newArr.indexOf(arr[i

JS--陣列去重的幾種常見方法

一、簡單的去重方法 // 最簡單陣列去重法 /* * 新建一新陣列,遍歷傳入陣列,值不在新陣列就push進該新陣列中 * IE8以下不支援陣列的indexOf方法 * */ function uniq(array){ var temp = []; //一個新的臨時陣列 for(v

js 陣列操作的方法

1.every() every() 方法用於檢測陣列所有元素是否都符合指定條件(通過函式提供)。 every() 方法使用指定函式檢測陣列中的所有元素: 如果陣列中檢測到有一個元素不滿足,則整個表示式返回 false ,且剩餘的元素不會再進行檢測。 如果所

js陣列方法總結

js中陣列的方法很多,經常都翻書看,無奈老是記不住,一到用的時候就忘了,大概還是因為用的少,也可能是因為方法確實太多,據不完全統計有23種。。。所以在這裡總結一下,當是記個筆記。 1、join() join(separator): 將陣列的元素組起一個字串,以separator為分隔符,省略

JS】FormData的使用以及提交陣列方法

一、建立FormData的方法通常有兩種: 1、 建立一個空的formData物件 let formData = new FormData(); 2、通過HTML表單元素建立FormData物件 let formData = new FormData(someFormElemen

JS寫一個方法,傳入一個數組,返回該陣列的層深

現在我們有一個多維陣列,我們想得到該陣列的層深,即最大維度 如:var arr = [1, [4,[5,6,[7]]], [2,3]] = 0;返回4;那麼我們該怎麼做呢? 核心思想:遞迴,迴圈遍歷 // 這裡傳入兩個引數 // 引數一為陣列 // 引數二為初始陣列的層深 function fo(