成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

javascript 數(shù)組的常用方法

denson / 2201人閱讀

摘要:實際使用的是這個注意,是,比數(shù)組的長度大每次迭代時更新這里可以看到更新后的都是遍歷迭代器結束才是遍歷完畢,輸出的數(shù)組方法返回一個新的迭代器,它包含數(shù)組中每個索引的鍵。方法對累加器和數(shù)組中的每個元素從左到右應用一個函數(shù),將其減少為單個值。

學習javascript的過程中,總是容易array忘記方法,把數(shù)組的一些方法全部匯總在一起,方便查看和增加記憶.

創(chuàng)建數(shù)組
let arr = ["apple", "banana"];
console.log(arr, "---------訪問數(shù)組"); //[ "apple","banana" ]
通過索引訪問元素
let arr = ["apple", "banana"];
let first = arr[0];
console.log(first, "----通過索引訪問數(shù)組"); //"apple"
console.log(arr[arr.length - 1], "-------訪問數(shù)組中最后一位元素") //"banana"
遍歷數(shù)組
let arr = ["apple", "banana"];
arr.forEach((item, index, array) => {
    console.log(item, "------item")  //"apple" "banana"
    console.log(index, "------index") // 0,1
    console.log(array, "-----array") //["apple","banana"]
})
push() 添加元素到數(shù)組末尾
let arr = ["apple", "banana"];
arr.push("orange");
console.log(arr, "----添加元素到數(shù)組末尾"); // ["apple", "banana", "orange" ]
pop() 刪除數(shù)組末尾元素
let arr = ["apple", "banana","orange"];
arr.pop();
console.log(arr, "----刪除數(shù)組末尾元素"); //["apple", "banana"]
shift() 刪除數(shù)組最前面的元素
let arr = ["apple", "banana"];
arr.shift();
console.log(arr, "----刪除數(shù)組最前面的元素") //[ "banana" ]
unshift() 添加元素到數(shù)組的頭部
let arr = ["banana"];
arr.unshift("eggs");
console.log(arr, "----添加元素到數(shù)組的頭部")  //[ "eggs", "banana" ]
indexOf() 查看某個某個元素在數(shù)組中的位置,存在就是當前下標,如果不存在就為-1;
let arr = [ "eggs","banana"];
let index = arr.indexOf("banana");
console.log(index, "------查看某個某個元素在數(shù)組中的位置;") //1
//--------------------
let index1 = arr.indexOf("watermelon");
console.log(index1, "------查看某個某個元素在數(shù)組中的位置;") //-1
splice是數(shù)組中最強大的功能之一,增,刪,改
let arr = [ "eggs","banana"];
splice(start,end,string) start是開始下標的位置  end是刪除幾個元素 string是插入或替換的元素
arr.splice(0, 1, "grapes"); //在0的位置刪除一個元素,并且加入一個元素 ,刪除插入
console.log(arr,"------") //[ "grapes", "banana" ] "------"
arr.splice(1, 2, "fruits"); //在下標為1的位置插入2個元素,如果后面只傳了一個就插入一個
console.log(arr,"------") //[ "grapes", "fruits" ] "------"
arr.splice(2, 2, "fruits", "fruits"); //在下標為2的位置插入2個元素
console.log(arr,"------") //[ "grapes", "fruits" ] "------"
arr.splice(0, 1);  //刪除元素
console.log(arr, "---通過索引刪除某個元素")
slice 不會改變原數(shù)組
let arr=[ "fruits", "fruits", "fruits" ];
let copyArr = arr.slice();  //拷貝數(shù)組
console.log(copyArr) //[ "fruits", "fruits", "fruits" ]
let sliceArr = arr.slice(0, 1);  //獲取元素 
console.log(sliceArr)  //[ "fruits" ]
Array.from() 方法從一個類似數(shù)組或可迭代對象中創(chuàng)建一個新的數(shù)組實例。
const bar = ["a", "b", "c"];
Array.from(bar);
const foo = Array.from("foo");
console.log(foo); //[ "f", "o", "o" ] 
Array.isArray() 用于確定傳遞的值是否是一個 Array。
console.log(Array.isArray([1, 2, 3])) //true
console.log(Array.isArray("str")) //false
console.log(Array.isArray({ "foo": "1" })) //false
console.log(Array.isArray(null)) //false
console.log(Array.isArray(undefined)) //false
Array.of() 方法創(chuàng)建一個具有可變數(shù)量參數(shù)的新數(shù)組實例
console.log(Array.of(5)) //[5] 創(chuàng)建一個數(shù)組為[5]
console.log(Array.of(1, 2, 3)) //[1,2,3]
console.log(Array.of(1, [1, 23], 3)) //[ 1, [ 1, 23 ], 3 ]
concat() 方法用于合并兩個或多個數(shù)組。此方法不會更改現(xiàn)有數(shù)組,而是返回一個新數(shù)組。
let array1 = ["a", "b"];
let array2 = ["1", "2"];
let array3 = [].concat(array1, array2);
console.log(array3) //[ "a", "b", "1", "2" ]
array.copyWithin(target, start, end)

方法淺復制數(shù)組的一部分到同一數(shù)組中的另一個位置,并返回它,而不修改其大小。

target    必需。復制到指定目標索引位置。
start    必需。元素復制的起始位置。
end    可選。停止復制的索引位置 (默認為 array.length)
let copyWithinArr = ["alpha", "beta", "copy", "delta"].copyWithin(1, 2, 3);
1=="beta"
2=="copy"
3=="delta"
console.log(copyWithinArr) // [ "alpha", "copy", "copy", "delta" ]
let copyWithinArr1 = ["alpha", "beta", "copy", "delta"].copyWithin(2, 0);
console.log(copyWithinArr1) //[ "alpha", "beta", "alpha", "beta" ]
entries() 方法返回一個新的Array Iterator對象,該對象包含數(shù)組中每個索引的鍵/值對。
var entries = ["a", "b", "c"];
var iterator = entries.entries();
console.log(iterator, "---")
console.log(iterator.next().value, "---")
console.log(iterator.next())
var iter = entries.entries();
var a = [];
// for(var i=0; i< arr.length; i++){   // 實際使用的是這個 
for (var i = 0; i < arr.length + 1; i++) {    // 注意,是length+1,比數(shù)組的長度大
    var tem = iter.next();             // 每次迭代時更新next
    console.log(tem.done);             // 這里可以看到更新后的done都是false
    if (tem.done !== true) {             // 遍歷迭代器結束done才是true
        console.log(tem.value);
        a[i] = tem.value;
    }
}
console.log(a);  // [ [ 0, "a" ], [ 1, "b" ], [ 2, "c" ] ] 遍歷完畢,輸出next.value的數(shù)組
keys()方法返回一個新的Array迭代器,它包含數(shù)組中每個索引的鍵。 返回的是下標
values() 方法返回一個新的 Array Iterator 對象,該對象包含數(shù)組每個索引的值。
for (let index of ["a", "b"].keys()) {
    console.log(index);
}
// 0  
// 1  
every() 方法測試數(shù)組的所有元素是否都通過了指定函數(shù)的測試。
function isBigEnough(element, index, array) {
    return (element >= 10);
}
var passed = [12, 5, 8, 130, 44].every(isBigEnough);
// passed is false
passed = [12, 54, 18, 130, 44].every(isBigEnough);
// passed is true
some() 方法測試數(shù)組中的某些元素是否通過由提供的函數(shù)實現(xiàn)的測試。
console.log([1,2,3,4,5].some(isBigEnough),"----some"); //一個都沒有通過false 
// passed is false
console.log([12, 54, 18, 1,2].some(isBigEnough),"--------some"); //只要有一個通過即為true
// passed is true
fill() 方法用一個固定值填充一個數(shù)組中從起始索引到終止索引內(nèi)的全部元素。
arr.fill(value,start,end)
let fillArr = [1, 2, 3, 4, 5];
console.log(fillArr.fill(3)) //[ 3, 3, 3, 3, 3 ]
console.log(fillArr.fill(2, 0, 2)) //[ 2, 2, 3, 3, 3 ]
console.log(fillArr.fill(5, 1)) // 2, 5, 5, 5, 5 ]
filter() 方法創(chuàng)建一個新數(shù)組, 其包含通過所提供函數(shù)實現(xiàn)的測試的所有元素。
let filter = (value) => {
    return value > 10
}
console.log([15, 13, 2, 16, 3].filter(filter))  // 15, 13, 16 ]
find() 方法返回數(shù)組中滿足提供的測試函數(shù)的第一個元素的值。否則返回 undefined。
console.log([15, 13, 2, 16, 3].find(filter))  // 15 返回第一個滿足條件的值  否則undefined
findIndex()方法返回數(shù)組中滿足提供的測試函數(shù)的第一個元素的索引。否則返回-1。
console.log([15, 13, 2, 16, 3].findIndex(filter))  // 0 返回第一個滿足條件的下表  否則-1
forEach() 方法對數(shù)組的每個元素執(zhí)行一次提供的函數(shù)。 //item是值,index下標,array是原數(shù)組
fillArr.forEach((item, index, array) => console.log(item))
includes() 方法用來判斷一個數(shù)組是否包含一個指定的值,根據(jù)情況,如果包含則返回
console.log(fillArr.includes(2)) //true 檢查數(shù)組中是否有該值有為true,否則false
console.log(fillArr.includes(4)) //false  
indexOf()方法返回在數(shù)組中可以找到一個給定元素的第一個索引,如果不存在,則返回-1。
console.log(fillArr.indexOf(2))  //0
console.log(fillArr.indexOf(4))  //-1 
join() 方法將一個數(shù)組(或一個類數(shù)組對象)的所有元素連接成一個字符串并返回這個字符串。
let joinArr = ["Wind", "Rain", "Fire"];
console.log(joinArr.join());  //Wind,Rain,Fire
lastIndexOf() 方法返回指定元素(也即有效的 JavaScript 值或變量)在數(shù)組中的最后一個的索引,如果不存在則返回 -1。從數(shù)組的后面向前查找,從 fromIndex 處開始。
console.log(["a","b"].lastIndexOf("a"));   //0  從后面往前面找
map() 方法創(chuàng)建一個新數(shù)組,其結果是該數(shù)組中的每個元素都調用一個提供的函數(shù)后返回的結果。
let numbers=[1,2,3,45,7,8,9];
let doubles=numbers.map(x=>x+1);
console.log(doubles,"------map") //[ 2, 3, 4, 46, 8, 9, 10 ] "------map"
reduce() 方法對累加器和數(shù)組中的每個元素(從左到右)應用一個函數(shù),將其減少為單個值。
const reduceArr=[1,2,3,4,5,6];
const reduce=(accumulator,currentValue)=>{
    console.log(accumulator,"-------accumulator"); //累加的值
    console.log(currentValue,"-------currentValue"); //當前元素
    return accumulator+currentValue
};
console.log(reduceArr.reduce(reduce))  //21 從左往右
reduceRight() 方法接受一個函數(shù)作為累加器(accumulator)和數(shù)組的每個值(從右到左)將其減少為單個值。
console.log(reduceArr.reduceRight(reduce))  //21 從右往左
reverse() 方法將數(shù)組中元素的位置顛倒。
console.log(reduceArr.reverse()) //[ 6, 5, 4, 3, 2, 1 ] 數(shù)組順序顛倒
sort() 數(shù)組的元素進行排序,并返回數(shù)組
let items = [
    { name: "Edward", value: 21 },
    { name: "Sharpe", value: 37 },
    { name: "And", value: 45 },
    { name: "The", value: -12 },
    { name: "Magnetic" ,value :0},
    { name: "Zeros", value: 37 }
  ];
  items.sort((a,b)=>{
      return a.value-b.value
  })

  console.log(items)

  items.sort((a,b)=>{
    var nameA = a.name.toUpperCase(); // ignore upper and lowercase
    var nameB = b.name.toUpperCase(); // ignore upper and lowercase
    if (nameA < nameB) {
        return -1;
      }
      if (nameA > nameB) {
        return 1;
      }
    // names must be equal
    
      return 0;
    // return   nameA-nameB  轉成NAN
  })
  console.log(items)
toLocaleString()返回一個字符串表示數(shù)組中的元素。數(shù)組中的元素將使用各自的 toLocaleString 方法轉成字符串,
  let str=[1,2,3,4,5];
  console.log(str.toLocaleString())  //1,2,3,4,5 

希望大家喜歡,也希望大家指點錯誤,也可以加入qq群439667347,大家一起討論,一起進步,后續(xù)更新中...

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

轉載請注明本文地址:http://systransis.cn/yun/107624.html

相關文章

  • JavaScript 常用方法

    摘要:常用方法作用向從數(shù)組中添加刪除項目,然后返回被刪除的項目。注釋該方法并不會修改數(shù)組,而是返回一個子數(shù)組。語法表示數(shù)組開始選定的位置表示數(shù)組結束選定的位置作用從已有的數(shù)組末尾增加一個元素。 JavaScript 常用方法 1. splice() 作用:向/從數(shù)組中添加/刪除項目,然后返回被刪除的項目。 注釋:該方法會改變原始數(shù)組。 語法:arrayObject.splice(...

    ranwu 評論0 收藏0
  • Javascript數(shù)組常用方法

    摘要:數(shù)組常用方法介紹刪除數(shù)組最后一位元素。開始下標刪除個數(shù),插入元素可以多個注意當數(shù)組執(zhí)行上面的這些方法時,都會修改原數(shù)組。輸出從數(shù)組中找出所有符合指定條件的元素。內(nèi)容返回將數(shù)組合成一個值。合并數(shù)組或合并數(shù)組的值。 JavaScript 數(shù)組常用方法介紹 array.pop – 刪除數(shù)組最后一位元素。 var arr = [1, 2, 3]; arr.pop();// 返回 3 arr;/...

    verano 評論0 收藏0
  • JavaScript Array對象常用方法

    摘要:省略則對數(shù)組元素進行排序返回該數(shù)組從數(shù)組中添加刪除項目返回被刪除的元素插入替換刪除 Array對象常用方法 不改變原數(shù)組 concat() join() slice() toString() 改變原數(shù)組 pop() push() reverse() shift() unshift() sort() splice() 不改變原數(shù)組 array.concat(array) 連接兩個...

    wangdai 評論0 收藏0
  • javascript數(shù)組常用方法

    摘要:數(shù)組常用方法數(shù)組作為中常用的數(shù)據(jù)類型使我們用的最多的在其他地方可以搜索出很多對其方法的總結本文列舉了筆者認為的個人認為最為重要的一系列方法字符串數(shù)組轉換數(shù)組字符串轉換轉換時可以添加符號還有一個是查找元素返回第一個與參數(shù)相同的元素的索引。 js數(shù)組常用方法 數(shù)組作為js中常用的數(shù)據(jù)類型使我們用的最多的, 在其他地方可以搜索出很多對其方法的總結, 本文列舉了筆者認為的(個人認為^_^)最為...

    GraphQuery 評論0 收藏0
  • JavaScript數(shù)組——常用數(shù)組方法匯總

    摘要:本文記錄關于數(shù)組的一些常用方法,搜集總結。對于數(shù)組中的每個元素,都會調用函數(shù)一次。返回值是一個新數(shù)組,其中的每個元素均為關聯(lián)的原始數(shù)組元素的回調函數(shù)返回值。 本文記錄關于js數(shù)組的一些常用方法,搜集總結。 主要思路: 1. 方法功能是什么 2. 傳遞的參數(shù)是什么 3. 返回值是什么 4. 原來的數(shù)組是否改變 第一組:關于數(shù)組的增加、刪除和修改 1.push 向數(shù)組末尾增加新的...

    HollisChuang 評論0 收藏0
  • [ ES6 ] 快速掌握常用 ES6 (二)

    摘要:本系列文章適合快速掌握入門語法,想深入學習的小伙伴可以看看阮一峰老師的入門本篇文章是對之前文章的一個補充,可以使代碼更簡潔函數(shù)參數(shù)默認值在傳統(tǒng)語法中如果想設置函數(shù)默認值一般我們采用判斷的形式在新的語法中我們可以在參數(shù)聲明的同時賦予默認值參數(shù) 本系列文章適合快速掌握 ES6 入門語法,想深入學習 ES6 的小伙伴可以看看阮一峰老師的《ECMAScript 6 入門》 本篇文章是對之前文章...

    hidogs 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<