成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

js數(shù)組操作方法小結(jié)

April / 1197人閱讀

摘要:操作方法創(chuàng)建數(shù)組類數(shù)組將類數(shù)組轉(zhuǎn)換真正的數(shù)組修改數(shù)組合并數(shù)組,返回新數(shù)組,原數(shù)組不變數(shù)組轉(zhuǎn)化為字符串以默認為逗號拼接為字符串。

Array操作方法 創(chuàng)建數(shù)組
var arr=[]
var arr = new Array()
var arr1 = ["1", "2", "3"]
var arr2 = ["a", "b", "c"]
var arrLike = [{
    name: "123",
    age: "18"
}, {
    name: "abc",
    age: "12"
}]  //類數(shù)組
將類數(shù)組轉(zhuǎn)換真正的數(shù)組Array.from(array)

eg:

obj = {"1": "value is 1", length: 2}
a = Array.from(obj)  //[undefined, "value is 1"]
修改數(shù)組

合并數(shù)組,返回新數(shù)組,原數(shù)組不變

Array.prototype.concat(arr1, arr2)  //["1", "2", "3", "a", "b", "c"]
arr1.concat(arr2) //["1", "2", "3", "a", "b", "c"]

數(shù)組轉(zhuǎn)化為字符串

Array.prototype.join(separator)  //以separator(默認為逗號)拼接為字符串。
Array.prototype.toString()   //把數(shù)組轉(zhuǎn)換為字符串, 數(shù)組中的元素之間用逗號分隔。

eg:

arr1.join() //"1,2,3"
arr1.join("") //"123"
arr1.join("/") //"1/2/3"
arr1.toString() //"1,2,3"
填充
Array.prototype.fill(value,start,end)
//value 為填充值
//start 為填充數(shù)組元素起點坐標
//end 為填充數(shù)組元素終點坐標

eg:

arr1.fill(0,1,2) // ["1", 0, "3"]
判斷
Array.isArray()
Array.isArray(arr1) //true
篩選
Array.prototype.filter()
Array.prototype.map()

eg:

var words = [
    {
        id: "1",
        name: "123"
    },
    {
        id: "2",
        name: "abc"
    }
]

words.filter(d => d.id === "1") //[{id: "1" , name: "123"}] 返回結(jié)果為true的值
arr1.map(x => x * 2)  // [2,4,6] 返回所有項
排序
Array.prototype.reverse()   //位置顛倒
Array.prototype.sort()

eg:

arr1.reverse() //["3", 2, "1"]
arr1.sort()  //["1", "2", "3"]
遞歸
Array.prototype.reduce()

eg:

const reducer = (accumulation,currentValue)=>{
    accumulation + currentValue
}
arr1.reduce(reducer)       // 1+2+3=6
arr1.reduce(reducer,4)     //4+1+2+3=10
查找
Array.prototype.some(callback)    //執(zhí)行callback函數(shù),直到callback返回true

var even =  function(element){
    return element % 2 === 0
}

arr1.some(even)  //true
Array.prototype.every(callback) //數(shù)組的所有元素是否都通過callback函數(shù)

function even(currentValue){
    return currentValue < 5
}

arr1.every(even)
Array.prototype.find(callback) //在數(shù)組中返回符合callback第一個元素的值

function even(value){
    return even % 2 === 0
}

arr1.find(even) // 2
Array.prototype.findIndex(callback)  //返回數(shù)組中滿足callback的第一個元素的索引。否則返回-1

function even(value){
    return value % 2 === 0
}

arr1.findIndex(even)   // 1
Array.prototype.includes(searchElement) //是否包含seachElement

arr1.includes(2)  //true

arr1.includes(0)  //false
增刪

pop()

Array.prototype.pop()  //刪除數(shù)組的最后一個元素,并返回改元素的值

arr1.pop() //  3  arr1=[1,2]

push()

Array.prototype.push()  //增加元素到數(shù)組末尾,返回增加的元素

arr1.push(4) // 4  ?arr1=[1, 2, 3, 4]

shift()

Array.prototype.shift()  //刪除數(shù)組第一個元素,返回這個元素值

arr1.shift()  // 1   arr1=[2,3]

unshift()

Array.prototype.unshift()   //增加元素到數(shù)組開頭 ,返回數(shù)組長度  

arr1.unshift(0) //4  arr1=[0,1,2,3]

slice()

Array.prototype.slice(start,end) //返回[start,end]淺拷貝到一個新數(shù)組,原數(shù)組不會被修改

arr1.slice(0,2)  //[1,2]  arr1=[1,2,3]

splice()

Array.prototype.splice()  //通過刪除現(xiàn)有元素或添加新元素來更改一個數(shù)組的內(nèi)容,原數(shù)組會被修改

Array.prototype.slice(replace-index,replace-num,replace-value)

//replace-num = 0 => inserts
arr1.splice(1,0,0)  //arr1=[1,0,2,3]

//replace-num !== 0 => replace
arr1.splice(1,1,4)  //返回被替換的元素 =>2  arr1=[1,4,3]
循環(huán)遍歷

map()

Array.prototype.map(callback)

arr1.map(val=>val*2)  // [2, 4, 6]

forEach()

Array.prototype.forEach(callback)

arr1.forEach(elem =>{
    console.log(elem)
})

// 1
// 2
// 3

entries()

Array.prototype.entries()   //返回一個新的Array Iterator對象,該對象包含數(shù)組中每個索引的鍵/值對

arr1 = ["a", "b", "c"]

for( let [index,elem] of (arr1).entries()){
    console.log(index,elem)
}

// 0 "a"
// 1 "b"
// 2 "c"

keys()

Array.prototype.keys()  //返回一個新的Array迭代器,它包含數(shù)組中每個索引的鍵

for(let index of(arr1).keys()){
    console.log(index)
}

// 0
// 1
// 2

values()

Array.prototype.values()  //返回一個新的Array迭代對象,包含數(shù)組每個索引值

for(let elem of(arr1).values()){
    console.log(elem)
}

// a
// b
// c

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/100613.html

相關(guān)文章

  • JS數(shù)組去重方法小結(jié)

    摘要:數(shù)組去重看了網(wǎng)上很多數(shù)組去重方法,用的比較常見的大概就幾種,今天想自己來做一個總結(jié)。還有就是方法返回的數(shù)組也是排序后的數(shù)組,某些情況下可能不符合要求。 JS數(shù)組去重 看了網(wǎng)上很多數(shù)組去重方法,用的比較常見的大概就幾種,今天想自己來做一個總結(jié)。部分內(nèi)容參考該博客 1 . 在原數(shù)組上操作(基本方法) 思路:利用循環(huán)嵌套,判斷數(shù)組中每個元素與其后面的元素是否相等,如果相等,就使用spli...

    PascalXie 評論0 收藏0
  • 【讀書筆記】《高性能JavaScript》

    摘要:性能訪問字面量和局部變量的速度是最快的,訪問數(shù)組和對象成員相對較慢變量標識符解析過程搜索執(zhí)行環(huán)境的作用域鏈,查找同名標識符。建議將全局變量存儲到局部變量,加快讀寫速度。優(yōu)化建議將常用的跨作用域變量存儲到局部變量,然后直接訪問局部變量。 缺陷 這本書是2010年出版的,這本書談性能是有時效性的,現(xiàn)在馬上就2018年了,這幾年前端發(fā)展的速度是飛快的,書里面還有一些內(nèi)容考慮IE6、7、8的東...

    chengjianhua 評論0 收藏0
  • 高性能JavaScript(文檔)

    摘要:最近在全力整理高性能的文檔,并重新學(xué)習(xí)一遍,放在這里方便大家查看并找到自己需要的知識點。 最近在全力整理《高性能JavaScript》的文檔,并重新學(xué)習(xí)一遍,放在這里方便大家查看并找到自己需要的知識點。 前端開發(fā)文檔 高性能JavaScript 第1章:加載和執(zhí)行 腳本位置 阻止腳本 無阻塞的腳本 延遲的腳本 動態(tài)腳本元素 XMLHTTPRequest腳本注入 推薦的無阻塞模式...

    RayKr 評論0 收藏0
  • 關(guān)于promise的小結(jié)

    摘要:則是把類似的異步處理對象和處理規(guī)則進行規(guī)范化,并按照采用統(tǒng)一的接口來編寫,而采取規(guī)定方法之外的寫法都會出錯。這個對象有一個方法,指定回調(diào)函數(shù),用于在異步操作執(zhí)行完后執(zhí)行回調(diào)函數(shù)處理。到目前為止,已經(jīng)學(xué)習(xí)了創(chuàng)建對象和用,方法來注冊回調(diào)函數(shù)。 Promise 本文從js的異步處理出發(fā),引入Promise的概念,并且介紹Promise對象以及其API方法。 js里的異步處理 可以參考這篇文章...

    Tony_Zby 評論0 收藏0
  • 面試小結(jié)(二)

    摘要:的用法,申明構(gòu)造函數(shù),返回。構(gòu)造函數(shù)可以調(diào)用來獲取下一個值,可以構(gòu)造類似于隨機數(shù)生成器。在構(gòu)造器函數(shù)中,可以暫停然后返回當前表達式的值??偨Y(jié)是為了更好的消滅這些不知道,希望對大家也有所幫助。 1、function*的用法; function*,申明構(gòu)造函數(shù),返回{value:v,done:true_or_false}。構(gòu)造函數(shù)可以調(diào)用next來獲取下一個值,可以構(gòu)造類似于隨機數(shù)生成器。...

    lanffy 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<