摘要:如重排序方法它的原理是先調用數組的方法,之后再進行字符串的比較。長度為的數組。返回的是被刪除的項,如果沒刪除則返回空數組,而且之前的數組也被改變位置方法可以檢測變量,它的兩個參數是第一個是要查找的值或變量,第二個是從哪開始找。
length屬性方法
數組的length屬性不單單是只讀的,還可以寫入
var color = [‘red’,’blue’,’black’];
Color.length = 1; // red
Color.length = 4
Console.log(color[2]) //undefined
當有不同模塊時,數組在不同模塊的表現是不同的構造函數,這時候instanceof也會判斷失誤,這時候要用更精確的方法
Array.isArray(value)
toString() -> 可以將一個數組轉化成“,”分割的形式,如[1,2,3,4].toString() -> “1,2,3,4”
join()方法和toString()一樣,只是join()里面可以添加參數,默認是逗號,如[1,2,3,4].join(‘-") -> “1-2-3-4”
上面這個數組對于數組中嵌套這數組的情況,也能默認拆到底。如[1,2,3,[4,[5,6,[7,8]]]].toString() -> “1,2,3,4,5,6,7,8"
重排序方法reverse()
sort() : 它的原理是先調用數組的toString()方法,之后再進行字符串的比較。所以應該這么寫
arr.sort((val1,val2) => val1-val2)
操作方法Concat():concat()方法不會影響之前數組的值
Slice() : 如果是負值,則用數組的長度去和數值相加。e.g: 長度為5的數組 arr.slice(-2,-1) === arr.slice(3,4)。slice有個技巧,其實后面兩個參數差的值就是數組里留的數量,比如[1,2,3,4,5].slice(1,4),截取出來的數組長度就是3。
Splice() : 返回的是被刪除的項,如果沒刪除則返回空數組,而且之前的數組也被改變
位置方法indexOf:可以檢測變量,它的兩個參數是第一個是要查找的值或變量,第二個是從哪開始找。
var person = {name:"andy",age:25};
var a = [{name:"andy",age:25}];
var b = [person];
console.log(a.indexOf(person)) // -1
console.log(b.indexOf(person)) //0
find()和findIndex():他們的參數必須為函數,可直接返回滿足條件的值和序號,還可以結合Object.is(),辨別NAN的位置
[1,2,3,4].find((n) => n>2)
有5個迭代方法,每個方法都接收兩個參數。第一個參數是一個函數第二個參數是函數的作用域對象(可選)-影響this值,其中第一個參數的函數又有三個參數(item,index,arrSelf)。這5個方法都不會改變數組本身。
方法 | 一個普通標題 | 一個普通標題 |
---|---|---|
every() | Boolean | 循環次數:碰到是flase的直接終止循環 |
some() | Boolean | 循環次數:碰到是true的直接終止循環 |
forEach() | 無返回值 | 和for循環迭代數組一樣,沒有返回值 |
map() | 返回每次函數調用的結果組成的數組 | 適用于包含項與另一個數組一一對應的數組 |
filter() | 返回true所組成的數組 | 查詢符合條件的所有數組很有用 |
reduce()和reduceRight (),這兩個沒區別就是一從頭到尾,一個從尾到頭。
他們的參數意義:
第一個參數:function (pre,cur,index,arrSelf)
第二個參數:pre的初始值,如果這個參數沒有,那么pre的初始值就是數組的第0個元素,例子:
let arr2 = [1,2,3]; let arr2All = arr2.reduce((pre,cur,index,arr) => { console.log("pre: "+ pre) console.log("cur: "+ cur) console.log("index: "+ index) console.log("arr: "+ arr) return cur + pre; },5) let arr2 = [1,2,3]; var arr2All = arr2.reduce((pre,cur,index,arr) => { console.log("pre: "+ pre) console.log("cur: "+ cur) console.log("index: "+ index) console.log("arr: "+ arr) return cur + pre; })Es6中數組的方法 Array.from()和擴展運算符(...)
它可以將類數組(本質特點必須有一點,有length屬性)和可遍歷對象(連字符串都可以)都轉化為數組e.g:
在實際應用中一般類數組對象都是獲取的DOM的NodeList集合,如getElementByTagName()...
let arrLike = { "0":"a", "1":"b", "2":"c", length:3 } str = [].slice.call("abc") var arr = [].slice.call(arrLike) // [‘a’,’b’,’c’] -> es5的寫法 var arr1 = Array.from(arrLike) // [‘a’,’b’,’c’] var arr2 = […arrLike] //擴展運算符不能有這種效果 var arr3 = Array.from("arrLike’) // [‘a’,’r’,’r’,’L’,’i’,’k’,’e"]Includes()
和indexOf不同點:
他直接返回了true和false
語義化比較好
對于NAN的判斷 indexOf內部使用嚴格相等,會導致NAN判斷錯誤,而include使用的是不一樣的判斷方法,沒有問題,[NaN].include(NaN) -> 0
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/96509.html
摘要:關于中的數組做出了如下總結數組是用來存儲一組不同類型的數據的容器。可以使用構造函數的方法和字面量的方法來聲明函數訪問數組通過下標的方法來訪問可以獲得數組長度。 關于JavaScript中的數組做出了如下總結:1、數組是用來存儲一組不同類型的數據的容器。可以使用構造函數的方法和字面量的方法來聲明函數;訪問數組通過下標的方法來訪問;arr.length可以獲得數組長度。2、數組棧方法包括:...
摘要:并列數據的集合數組用方括號表示。第三種類型是映射,也就是一個名值對,即數據有一個名稱,還有一個與之相對應的值,這又稱作散列或字典,比如首都北京。中有種簡單數據類型也稱為基本數據類型和。數值布爾值對象和字符串值都有方法。 什么是JSON JSON:JavaScript 對象表示法(JavaScript Object Notation)。 JSON的形式是用大括號{}包圍起來的項目列表...
摘要:數組原型提供的方法非常之多,主要分為三種直接修改原數組原數組不變,返回新數組數組遍歷方法直接修改原數組的刪除一個數組中的最后的一個元素,并且返回這個元素添加一個或者多個元素到數組末尾,并且返回數組新的長度刪除數組的第一個元素,并返回這個元素 Javascript數組原型提供的方法非常之多,主要分為三種: 直接修改原數組 原數組不變,返回新數組 數組遍歷方法 直接修改原數組的API ...
摘要:日常開發中我們難免需要對數組和對象進行遍歷,今天抽空來總結下遍歷數組和對象常用的方法。使用遍歷對象注只能遍歷出自身可枚舉的屬性,而不能遍歷出原型鏈上面的屬性。 日常開發中我們難免需要對數組和對象進行遍歷,今天抽空來總結下遍歷數組和對象常用的方法。 Javascript遍歷數組總結 我們定義一個數組 var arr = [2,4,6]; 1.使用for循環遍歷 var lengt...
摘要:設計模式是以面向對象編程為基礎的,的面向對象編程和傳統的的面向對象編程有些差別,這讓我一開始接觸的時候感到十分痛苦,但是這只能靠自己慢慢積累慢慢思考。想繼續了解設計模式必須要先搞懂面向對象編程,否則只會讓你自己更痛苦。 JavaScript 中的構造函數 學習總結。知識只有分享才有存在的意義。 是時候替換你的 for 循環大法了~ 《小分享》JavaScript中數組的那些迭代方法~ ...
摘要:關于數組方法的總結以此數組為操作對象以下方法不改變原數組只是數組的轉換字符串使用括號中的字符串連接數組中的每個元素,返回一個連接好的字符串,不改變原數組可以將數組轉換成字符串形式,返回字符串,不改變原數組。 關于數組方法的總結 【arr(1,2,3,4);以此數組為操作對象;】 以下方法不改變原數組(只是數組的轉換) arr.join(字符串): 使用括號中的字符串連接數組中的每個元...
閱讀 1643·2019-08-30 15:44
閱讀 2567·2019-08-30 11:19
閱讀 394·2019-08-30 11:06
閱讀 1557·2019-08-29 15:27
閱讀 3078·2019-08-29 13:44
閱讀 1622·2019-08-28 18:28
閱讀 2353·2019-08-28 18:17
閱讀 1980·2019-08-26 10:41