国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JavaScript數(shù)組方法整理

harryhappy / 1783人閱讀

摘要:移除數(shù)組第一項(xiàng),并返回該項(xiàng),并返回該項(xiàng),值減一。在數(shù)組前端添加任意個(gè)項(xiàng),并返回新數(shù)組的長(zhǎng)度。整數(shù),規(guī)定添加刪除項(xiàng)目的位置,使用負(fù)數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。第一次迭代時(shí)為數(shù)組對(duì)最后一項(xiàng)迭代數(shù)組對(duì)所有項(xiàng),將數(shù)組元素計(jì)算為一個(gè)值從右到左

Array的原型方法 isArray()
Array.isArray(value)
檢測(cè)value是否是數(shù)組
join()
arr.join(separator)
將數(shù)組用separator分隔,并返回分割后的字符串
var arr = ["red", "green", "blue"];
arr2 = arr.join("|"); // "red|green|blue"
arr3 = arr.join("");  // "redgreenblue"
reverse()
arr.reverse()
顛倒數(shù)組自身順序
var arr = [1, 2, 3, 5, 12, 100, 4];
arr.reverse(); // [4, 100, 12, 5, 3, 2, 1]
sort()
arr.sort() or arr.sort(campare)
按升序排序數(shù)組項(xiàng)
排序時(shí),會(huì)調(diào)用每個(gè)數(shù)組項(xiàng)的toString()方法,比較得到的字符串,以確定如何排序;
即使數(shù)組中每一項(xiàng)都是數(shù)值,比較的也是字符串;
傳入比較函數(shù),可以解決此問題
push()
arr.push()
接受任意數(shù)量的參數(shù),并逐個(gè)添加到數(shù)組末尾,返回修改后數(shù)組的長(zhǎng)度;
push()pop()方法組成棧方法LIFO(Last-In-First-Out);
push()shift()方法組成隊(duì)列方法FIFO(First-In-First-Out);
var colors = ["blue"];
var len = colors.push("red", "green");
console.log(len); // 3
console.log(colors.toString()); //blue,red,green
pop()
arr.pop()
移除數(shù)組最后一項(xiàng),并返回該項(xiàng),length值減一。
var colors = ["blue", "red", "green"]
colors.pop();        // "green"
colors.toString();   // ["blue", "red"]
colors.length;       // 2
shift()
arr.shift()
移除數(shù)組第一項(xiàng),并返回該項(xiàng),并返回該項(xiàng),length值減一。
var colors = ["red","green", "blue"];
var item = colors.shift();
console.log(item);    // red
console.log(colors);  // ["green", "blue"]
unshift()
arr.unshift()
在數(shù)組前端添加任意個(gè)項(xiàng),并返回新數(shù)組的長(zhǎng)度。
var colors = ["red"];
var len = colors.unshift("green", "blue");
console.log(len); // 3
console.log(colors); // ["green", "blue", "red"]
concat()
arr.concat(arrX,arrX, ..., arrX)
先創(chuàng)建當(dāng)前數(shù)組的一個(gè)副本,然后將接收到的參數(shù)添加到這個(gè)副本的末尾,最后返回新構(gòu)建的數(shù)組。
可以用來復(fù)制數(shù)組:不給concat()傳遞參數(shù)的情況下,只是復(fù)制當(dāng)前數(shù)組并返回該副本。
var colors = ["red","green", "blue"];
var newColors = colors.concat("yellow", ["pink", "black"]);
var newColors2 = colors.concat(); // 復(fù)制當(dāng)前數(shù)組
console.log(colors);        // ["red", "green", "blue"]
console.log(newColors);     // ["red", "green", "blue", "yellow", "pink", "black"]
console.log(newColors2);    // ["red", "green", "blue"]
slice()

arr.slice(start, end)

基于當(dāng)前數(shù)組中一個(gè)或多個(gè)項(xiàng)創(chuàng)建一個(gè)新數(shù)組

slice()方法可以接受一或兩個(gè)參數(shù),即要返回項(xiàng)的起始結(jié)束位置。

0個(gè)參數(shù):復(fù)制當(dāng)前數(shù)組并返回該副本;

1個(gè)參數(shù):從該參數(shù)指定位置開始到當(dāng)前數(shù)組末尾的所有項(xiàng);

2個(gè)參數(shù):返回起始和結(jié)束位置之間的項(xiàng)[start, end),不包含結(jié)束位置的項(xiàng);

var arr = [1, 2, 3, 4, 5, 6, 7, 8];
var arr2 = arr.slice();
var arr3 = arr.slice(2);
var arr4 = arr.slice(2, 5);

console.log(arr2); // [1, 2, 3, 4, 5, 6, 7, 8]
console.log(arr3); // [3, 4, 5, 6, 7, 8]
console.log(arr4); // [3, 4, 5]
splice()

arr.splice(startIndex, count, item1, ..., itemN)

參數(shù)說明

startIndex:必需。整數(shù),規(guī)定添加/刪除項(xiàng)目的位置,使用負(fù)數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。

count:必需。要?jiǎng)h除的項(xiàng)數(shù)。如果設(shè)置為 0,則不會(huì)刪除項(xiàng)目。

item1, ..., itemX:可選。向數(shù)組添加的新項(xiàng)目。

返回值:

始終返回一個(gè)數(shù)組,該數(shù)組中包含從原始數(shù)組中刪除的項(xiàng)(若沒有刪除任何項(xiàng),則返回一個(gè)空數(shù)組

功能 描述 舉例
刪除 刪除任意數(shù)量的項(xiàng),只需指定2個(gè)參數(shù);
要?jiǎng)h除的第一項(xiàng)的位置、要?jiǎng)h除的項(xiàng)數(shù);
splice(1, 2)
插入 向指定位置插入多個(gè)項(xiàng),只需提供3個(gè)參數(shù);
起始位置,0(要?jiǎng)h除的項(xiàng)數(shù))、要插入的項(xiàng);
splice(1, 0, "yellow", "purple")
替換 向指定位置插入任意數(shù)量的項(xiàng),且同時(shí)刪除任意數(shù)量的項(xiàng);
起始位置、要?jiǎng)h除的項(xiàng)數(shù)、要插入的任意數(shù)量的項(xiàng)
splice(2, 2, "white", "black")
var colors = ["red", "green", "blue", "pink"];
// 刪除
var removed = colors.splice(1, 2); 
console.log(colors); // ["red", "pink"]
console.log(removed);// ["green", "blue"]
// 插入
removed = colors.splice(1, 0, "yellow", "purple");
console.log(colors);  // ["red", "yellow", "purple", "pink"]
console.log(removed); // []
// 替換
removed = colors.splice(1, 2, "white", "black");
console.log(colors);  // ["red", "white", "black", "pink"]
console.log(removed); // ["yellow", "purple"]
迭代方法
以下5個(gè)迭代方法均為ECMAScript新增。
forEach()

arrayObject.forEach(function(currentValue, index, array))

對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù);

沒有返回值;

var numbers = [1,2,3,4,5];
numbers.forEach(function(item, index, arr){
    console.log(item + " | " + index + " | " + arr.valueOf());
});

// 1 | 0 | 1,2,3,4,5
// 2 | 1 | 1,2,3,4,5
// 3 | 2 | 1,2,3,4,5
// 4 | 3 | 1,2,3,4,5
// 5 | 4 | 1,2,3,4,5
map()

arrayObject.map(function(currentValue, index, array))

對(duì)數(shù)組中對(duì)每一項(xiàng)運(yùn)行給定函數(shù);

返回每次函數(shù)調(diào)用對(duì)結(jié)果組成對(duì)數(shù)組;

var numbers = [1,2,3,4,5];
var newNumbers = numbers.map(function(item, index, arr){
    console.log(item + " | " + index + " | " + (numbers === arr));
    return item * 2;
});
console.log(newNumbers);
// 1 | 0 | true
// 2 | 1 | true
// 3 | 2 | true
// 4 | 3 | true
// 5 | 4 | true
// [2, 4, 6, 8, 10]
filter()

arrayObject.filter(function(currentValue, index, array))

對(duì)數(shù)組中對(duì)每一項(xiàng)運(yùn)行給定函數(shù);

返回該函數(shù)會(huì)返回true的項(xiàng)組成對(duì)數(shù)組;

var numbers = [1,2,3,4,5];
var newNumbers = numbers.filter(function(item, index, arr){
    console.log(item + " | " + index + " | " + (numbers === arr));
    return item % 2 === 0;
});
console.log(newNumbers); // [2, 4]
every()

arrayObject.every(function(currentValue, index, array))

對(duì)數(shù)組中對(duì)每一項(xiàng)運(yùn)行給定函數(shù);

如果該函數(shù)對(duì)每一項(xiàng)都返回true,則返回true;

var numbers = [1,2,3,4,5];
var everyResult = numbers.every(function(item, index, arr){
    console.log(item + " | " + index + " | " + (numbers === arr));
    return item % 2 === 0;
});
console.log(everyResult); // false
some()

arrayObject.some(function(currentValue, index, array))

對(duì)數(shù)組中對(duì)每一項(xiàng)運(yùn)行給定函數(shù);

如果該函數(shù)對(duì)人意項(xiàng)返回true,則返回true

var numbers = [1,2,3,4,5];
var someResult = numbers.every(function(item, index, arr){
    console.log(item + " | " + index + " | " + (numbers === arr));
    return item > 0;
});
console.log(someResult); // true
歸并方法 reduce()

arrayObject.reduce(function(prev, cur, index, array))

參數(shù):

prev: 必需,初始值, 或者計(jì)算結(jié)束后的返回值。第一次迭代時(shí)為數(shù)組對(duì)第一項(xiàng);

cur : 必需,當(dāng)前迭代的元素;

index: 可選,當(dāng)前元素對(duì)索引;

array: 可選,當(dāng)前元素所屬的數(shù)組對(duì)象;

迭代數(shù)組對(duì)所有項(xiàng),將數(shù)組元素計(jì)算為一個(gè)值(從左到右????)

function(prev, cur, index, array)這個(gè)函數(shù)每次返回的任何值會(huì)作為第一個(gè)參數(shù)自動(dòng)傳給下一項(xiàng);

var nums = [1,2,3,4,5];
var sum = nums.reduce(function(prev, cur, index, array){
    console.log(prev + " | " + cur + " | " + index + " | " + (nums===array))
    return prev + cur;
});
console.log("sum = " + sum);

// prev  | cur | index | (nums===array)
// 可見第一次迭代發(fā)生在數(shù)組對(duì)第2項(xiàng)上,第一個(gè)參數(shù)是數(shù)組對(duì)第1項(xiàng),第二個(gè)參數(shù)為第二項(xiàng)
// 1     | 2   | 1     | true  
// 3     | 3   | 2     | true
// 6     | 4   | 3     | true
// 10    | 5   | 4     | true
// sum = 15
reduceRight()

arrayObject.reduce(function(prev, cur, index, array))

reduceRight()reduce()功能相似,從數(shù)組對(duì)最后一項(xiàng)開始,向前遍歷到第一項(xiàng);

參數(shù):

prev: 必需,初始值, 或者計(jì)算結(jié)束后的返回值。第一次迭代時(shí)為數(shù)組對(duì)最后一項(xiàng);

迭代數(shù)組對(duì)所有項(xiàng),將數(shù)組元素計(jì)算為一個(gè)值(從右到左????)

var nums = [1,2,3,4,5];
var sum = nums.reduceRight(function(prev, cur, index, array){
    console.log(prev + " | " + cur + " | " + index + " | " + (nums===array))
    return prev + cur;
});
console.log("sum = " + sum);

// prev| cur | index | (nums===array)
// 5   | 4   | 3     | true
// 9   | 3   | 2     | true
// 12  | 2   | 1     | true
// 14  | 1   | 0     | true
// sum = 15

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/108673.html

相關(guān)文章

  • JavaScript Array 整理 - 元素操作

    摘要:此文章是我的原創(chuàng)文章,原文地址前篇整理了一些常用的遍歷操作方法,今天再整理一下對(duì)象中針對(duì)元素操作的方法。返回當(dāng)前數(shù)組最后一個(gè)元素描述返回?cái)?shù)組第一個(gè)元素,并從當(dāng)前數(shù)組中刪除它。刪除的元素組成的數(shù)組 此文章是我的原創(chuàng)文章,原文地址:http://lpgray.me/article/49/ 前篇整理了一些Array常用的遍歷操作方法,今天再整理一下Array對(duì)象中針對(duì)元素操作的方法。 分別是...

    phodal 評(píng)論0 收藏0
  • JavaScript基礎(chǔ)整理數(shù)組(一)

    摘要:原文發(fā)布在數(shù)組應(yīng)該是日常開發(fā)中最常見的數(shù)據(jù)結(jié)構(gòu)了,雖然常見,但是卻不一定能優(yōu)雅地處理好,中數(shù)組的處理方法很多,各個(gè)方法的參數(shù)返回值是否修改原數(shù)組等也容易記混。 原文發(fā)布在:http://blog.xiaofeixu.cn/2017... 數(shù)組應(yīng)該是日常開發(fā)中最常見的數(shù)據(jù)結(jié)構(gòu)了,雖然常見,但是卻不一定能優(yōu)雅地處理好,JavaScript中數(shù)組的處理方法很多,各個(gè)方法的參數(shù)、返回值、是否修...

    dingda 評(píng)論0 收藏0
  • JavaScript Array 整理 - 遍歷操作

    摘要:描述此函數(shù)用來遍歷數(shù)組的每一個(gè)元素,回調(diào)的返回值有意義,返回時(shí),數(shù)組停止循環(huán)。問題一個(gè)數(shù)組最多可以有多長(zhǎng)中規(guī)定,數(shù)組的長(zhǎng)度會(huì)使用轉(zhuǎn)化,即。 這是我的原創(chuàng)文章,原文地址:http://lpgray.me/article/48/ 今天談?wù)劵A(chǔ),在前端開發(fā)中,Array的基礎(chǔ)操作很是頻繁多見,在ES5中有許多Array的新特性,但是對(duì)于我等中國(guó)的碼農(nóng),尤其是PC前端狗整天就與IE678打交道...

    mengera88 評(píng)論0 收藏0
  • JavaScript易錯(cuò)知識(shí)點(diǎn)整理

    摘要:知識(shí)點(diǎn)變量作用域上方的函數(shù)作用域中聲明并賦值了,且在之上,所以遵循就近原則輸出等于。上方的函數(shù)作用域中被重新賦值,未被重新聲明,且位于之下,所以輸出全局作用域中的。上方利用方法進(jìn)行對(duì)象的深拷貝可以避免源對(duì)象被篡改的可能。 前言 本文是我學(xué)習(xí)JavaScript過程中收集與整理的一些易錯(cuò)知識(shí)點(diǎn),將分別從變量作用域,類型比較,this指向,函數(shù)參數(shù),閉包問題及對(duì)象拷貝與賦值這6個(gè)方面進(jìn)行由...

    vincent_xyb 評(píng)論0 收藏0
  • JavaScript易錯(cuò)知識(shí)點(diǎn)整理

    摘要:知識(shí)點(diǎn)變量作用域上方的函數(shù)作用域中聲明并賦值了,且在之上,所以遵循就近原則輸出等于。上方的函數(shù)作用域中被重新賦值,未被重新聲明,且位于之下,所以輸出全局作用域中的。若執(zhí)行則會(huì)輸出。上方利用方法進(jìn)行對(duì)象的深拷貝可以避免源對(duì)象被篡改的可能。 前言 本文是我學(xué)習(xí)JavaScript過程中收集與整理的一些易錯(cuò)知識(shí)點(diǎn),將分別從變量作用域,類型比較,this指向,函數(shù)參數(shù),閉包問題及對(duì)象拷貝與賦值...

    2shou 評(píng)論0 收藏0
  • javascript的深拷貝方法總結(jié)(主要針對(duì)數(shù)組和對(duì)象進(jìn)行整理

    摘要:回顧一下我們總結(jié)的常用的深拷貝完整方案實(shí)現(xiàn)一個(gè)函數(shù),可以對(duì)中的種主要的數(shù)據(jù)類型包括進(jìn)行值復(fù)制對(duì)數(shù)組深拷貝的簡(jiǎn)單方法總結(jié)循環(huán)實(shí)現(xiàn)數(shù)組的深拷貝只適應(yīng)單層數(shù)組結(jié)構(gòu)方法實(shí)現(xiàn)數(shù)組的深拷貝只適應(yīng)單層數(shù)組結(jié)構(gòu)方法實(shí)現(xiàn)數(shù)組的深拷貝只適應(yīng)單層數(shù)組結(jié)構(gòu)擴(kuò)展 回顧一下我們總結(jié)的常用的深拷貝完整方案 實(shí)現(xiàn)一個(gè)函數(shù)clone,可以對(duì)JavaScript中的5種主要的數(shù)據(jù)類型(包括Number、String、Ob...

    church 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<