<script> // sort()方法會按照字串的先后順序對陣列的每一個陣列專案的字符順序來進行排序的 // 如果陣列的某個專案不是字串, 那么會先把陣列專案轉換為字串,再來按照字串的比較方式來排序 // 該方法會改變原始的陣列
// let array = [10,5,8,6,9]; // array.sort(); // console.log("sort",array); //[10, 5, 6, 8, 9] // let aa = [1,10,2,20,6,8];
// aa.sort(function(value1,value2){ // if(value1 < value2){ // return -1; //-1前的值比-1后的值小 // }else if(value1 > value2){ // return 1; //回傳1,value1在陣列后 value2在陣列前 -1前的值比-1后的值大 // }else{ // return 0; // } // }); // console.log(aa); // reverse()方法會反轉陣列項的順序 // 直接在原始的陣列上排序, 只是單純的調轉數字的陣列專案的整體順序而已 // 該方法會改變原始的陣列 // array.reverse(); // console.log("reverse",array); //[9, 6, 8, 5, 10]
// 陣列的佇列操作方法 先進先出 // Array.push(陣列專案5) // 往陣列末尾增加一個陣列專案 // 與此同時,陣列的length自動加1 // Array.shift() // 洗掉陣列的第一個陣列專案 // 與此同時,陣列的length自動減1 // 反向佇列操作方法 // Array.unshift(陣列專案0) // 往陣列開始位置增加一個陣列專案 // 與此同時,陣列的length自動加1 // Array.pop() // 洗掉陣列的最后一個陣列專案 // 與此同時,陣列的length自動減1
// 堆疊操作方法 先進后出 // Array.pop() // 洗掉陣列的最后一個陣列專案 // 與此同時,陣列的length自動減1 // Array.pop() // 洗掉陣列的最后一個陣列專案 // 與此同時,陣列的length自動減1
// array.push("111"); // console.log("push",array); //push (6) [10, 5, 8, 6, 9, "111"] // array.pop(); // console.log("pop",array); //pop (5) [10, 5, 8, 6, 9]
// array.shift(); // console.log("shift",array); //shift (4) [5, 8, 6, 9] // array.unshift("123"); // console.log("unshift",array); //unshift (5) ["123", 5, 8, 6, 9]
// concat()方法可以基于當前陣列中的所有項創建一個新陣列, // concat()方法不會改變原陣列 // 如果傳遞給concat()方法的是一或多個陣列,則該方法會將這些陣列中的每一項都添加到結果陣列中, // let a1 = [1,2,5], // a2 = [4,8,9], // a3 = a1.concat(a2); // console.log(a1); //[1,2,5] // console.log(a3); //[1, 2, 5, 4, 8, 9]
// slice()方法可以接受一或兩個引數,即要回傳項的起始和結束位置, // 情況1:如果不傳入引數的情況下, silce()方法回傳完整的陣列 // 情況2:在只有一個引數的情況下,slice()方法回傳從該引數指定位置開始到當前陣列末尾的所有項, // 情況3:如果有兩個引數,該方法回傳起始和結束位置之間的項——但不包括結束位置的項, // slice()方法不會影響原始陣列
// splice()方法會影響原始陣列 // 洗掉:可以洗掉任意數量的項,只需指定2 個引數:要洗掉的第一項的位置和要洗掉的項數, // 插入:可以向指定位置插入任意數量的項,只需提供3 個引數:起始位置、0(要洗掉的項數) // 和要插入的項,如果要插入多個項,可以再傳入第四、第五,以至任意多個項 // 替換:可以向指定位置插入任意數量的項,且同時洗掉任意數量的項,只需指定3 個引數:起 // 始位置、要洗掉的項數和要插入的任意數量的項,插入的項數不必與洗掉的項數相等, // console.log("a3",a3); //[1, 2, 5, 4, 8, 9] // console.log("slice:原來",a3.slice()); //[1, 2, 5, 4, 8, 9] // console.log("a3",a3); //[1, 2, 5, 4, 8, 9] // console.log("原來的:",a3.splice()); //[] // console.log(a3); //[1, 2, 5, 4, 8, 9]
// console.log("slice:yi",a3.slice(4)); //[8, 9] // console.log("slice:a3",a3); //[1, 2, 5, 4, 8, 9] // console.log("加一",a3.splice(4)); //[8, 9] // console.log(a3); //[1, 2, 5, 4]
// console.log("slice:yi",a3.slice(1,4)); //[2, 5, 4] // console.log("slice:a3",a3); //[1, 2, 5, 4, 8, 9] // console.log("兩個值",a3.splice(1,4)); //[2, 5, 4, 8] // console.log("a3",a3); //[1, 9]
// console.log("三個值",a3.splice(0,1,3,4,5)); //[1] // console.log(a3); //[3, 4, 5, 2, 5, 4, 8, 9]
// 位置方法:indexOf()和lastIndexOf() // 接收兩個引數:要查找的項和(可選的)表示查找起點位置的索引 // indexOf()方法從陣列的開頭(位置0)開始向后查找, // lastIndexOf()方法則從陣列的末尾開始向前查找, // 在沒找到的情況下回傳-1 // console.log(a3.indexOf(4)); //3
// ecm5提供五個迭代方法,每個方法都接收兩個引數:要在每一項上 // 運行的函式和(可選的)運行該函式的作用域物件————影響this的值
// 接收運行的函式傳入三個引數:陣列項的值、該項在陣列中的位置(下標)和陣列物件本身 // 1、every():對陣列中的每一項運行給定函式,如果該函式對每一項都回傳true,則回傳true, // 即傳入的函式必須對每一項都回傳true,這個方法才回傳true,否則false // let arra = [1,2,3,6,4,8]; // let re = arra.every(function(item ,index, arr){ // return item >2; // }); // console.log(re); //false
// 2、some():對陣列中的每一項運行給定函式,如果該函式對任一項回傳true,則回傳true, // 即傳入的函式對陣列中的任一項回傳true,這個方法就回傳true,否則false // let arra = [1,2,3,6,4,8]; // let re = arra.some(function(item ,index, arr){ // return item >2; // }); // console.log(re); //true
//3、filter():對陣列中的每一項運行給定函式,回傳該函式會回傳true 的項組成的陣列 // 它利用指定的函式中return陳述句的條件, 把所有符合該條件的陣列專案組合成一個新的陣列回傳 // 該方法不會修改原來的陣列
// let arra = [1,2,3,6,4,8]; // let re = arra.some(function(item ,index, arr){ // return item >2; // }); // console.log(re); //符合大于2的取出來放在re中
// let arra = [1,2,2,undefined,4,6,7,undefined,undefined,"w"]; // let result1 = arra.filter(function(item,index,arr){ // return !isNaN(item); //是數值回傳false再非,所以就是true // }); // console.log(result1);//[1, 2, 2, 4, 6, 7] // let result2 = arra.filter(function(item,index,arr){ // return !isNaN(item) || item; // }); // console.log(result2); //回傳非空的值 [1, 2, 2, 4, 6, 7, "w"]
// 4、map():對陣列中的每一項運行給定函式,回傳每次函式呼叫的結果組成的陣列, // map() 回傳一個新陣列,這個新陣列的每一項都是在原始陣列中的對應的陣列專案傳入函式經過一系列處理的結果 // let arrb = [1,2,2,5,6,7]; // 值,下標,陣列的本身 // let result3 = arrb.map(function(item,index,arr){ // return item*2; // }); // // 等價的for回圈的使用 // // for(let i=0; i<arrb.length;i++){ // // arrb[i] = arrb[i]*2; // // } // console.log(result3); //[2, 4, 4, 10, 12, 14]
// 5、forEach():對陣列中的每一項運行給定函式,這個方法沒有回傳值, // foreach(one,two)第二個引數改變 函式的this的作用域 this指向誰 // 沒有回傳值 // let arrb = [1,2,2,5,6,7]; // let result3 = arrb.forEach(function(item,index,arr){ // arr[index] *= 2; // }) // console.log(arrb); //[2, 4, 4, 10, 12, 14]
// // 請使用計數遍歷 // for(let i=0;i<arr.lengeh;i++)
// 非計數遍歷 // forEach
// 歸并陣列方法:reduce()和reduceRight() // 可以迭代陣列所有項,然后狗郵件一個最終的值, // reduce()從陣列的第一項開始,逐個遍歷到最后, // 而reduceRight()則從陣列的最后一項開始,向前遍歷到第一項, // 這兩個方法都接收兩個引數:一個函式和(可選的)作為歸并基礎的初始值, // 傳入的函式接收4 個引數:前一個值、當前值、項的索引和陣列物件,
// let values = [1,2,2,4,5,6]; // let sum = values.reduce(function(prev,cur,index,array){ // return prev + cur; // }); // console.log(sum); //20
// 數學物件MATH(常用) // π的值 :Math.PI // 取最大數,最小數 Math.max Math.min // let max = Math.max(2,5,35,65); // console.log(max); //65 // let min = Math.min(2,5,35,65); // console.log(min); //2
// 取整 // Math.ceil()執行向上舍入,即它總是將數值向上舍入為最接近的整數; // Math.floor()執行向下舍入,即它總是將數值向下舍入為最接近的整數; // Math.round()執行標準舍入,即它總是將數值四舍五入為最接近的整數; // console.log(Math.ceil(25.6)); //26 // console.log(Math.ceil(25.1)); //26 // console.log(Math.ceil(-2.5)); //-2 // console.log(Math.floor(25.6)); //25 // console.log(Math.floor(25.1)); //25 // console.log(Math.floor(-2.5)); //-3 // console.log(Math.round(25.6)); //26 // console.log(Math.round(25.1)); //25
// 亂數 // Math.random()方法回傳大于等于0 小于1 的一個亂數 // 取的數不大于一,都是小數 // 改造,取整,向下取整,0-10的數 // console.log(Math.floor(Math.random()*10 ) );
// 計時器 // setInterval(function(){},t) 1000=1s // 每隔t ms執行一次函式function(){}; // clearInterval(定時器名稱) :洗掉之前設定的定時器
// let i = 0; // function a(){ // console.log(++i); // }
// let time; // // 計時器 // time = window.setInterval(function(){ // if(i == 10){ // window.clearInterval(time); //關閉計時器 // }else{ // a(); // } // },1000);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/41406.html
標籤:JavaScript
下一篇:日期物件和字串操作、字串API
