function foo(data1,data2){ console.log(data1) console.log(data2) } foo.call(this, '1', '2') 等效於 foo.apply(this, [1,2])
apply跟的是數組,call就是按照參數的順序正則表達式
var str = '1-2-3-' var p = str.split(-) //["1","2","3",""] split分裂 var ar = [5,4,3,2,1] var p2 = ar.join('x') //5x4x3x2x1 數組合併成字符串中間加 "x"
//slice(片) 不會改變原來數組, splice(剪接) slice(startIndex, endIndex) slice(stratIndex)//缺乏endIndex 就會執行到末尾 slice(-1)最後一個元素 splice(startIndex,length) //截取原來的數組
數組下標 startIndex =< index <endIndex
當startIndex爲負數的時候就會從最後的元素開始計算數組
substr(start [, length ]) substring(start, end) var str = '005' str.substr(-2) //05返回最後兩個字符
沒有第二個參數就默認到最後
第一個參數爲負數的時候從末尾算起app
ceil 向上取整數
round 標準的四捨五入
floor 向下取整數函數
var x = 12.3 var y = 12.6 Math.floor(x) === Math.floor(y) === Math.round(x) // 12 Math.ceil(x) === Math.ceil(y) === Math.round(y) // 13
var ar = [1,2,3,4,5] ar.some(val => val == 1) // true 知足一個 ar.every(val => val == 1) //false 全都知足
返回一個新的數組this
let ar = [1,2,3] ar.map(function(it, index, items){})
var ar = [1,2,3,4,5,6] function deleteAr(ar){ for(var i = 0; i< ar.length; i++){ if(條件){ return ar.splice(i,1) } } }
var time = new Date(2016,0,1,12,11,22,111) //年、月(-1)、日、時、分、秒、毫秒 //小技巧 var maxDay = new Date(2016,1,0) 能夠獲取2016年1月的最後一天 var year = time.getFullYear() //年 var month = time.getMonth() + 1 //月 var day = time.getDate() //日 var week = time.getDay() // 0~6 週日是 0
undefined null 0 -0 NaN "" //以上都會自動轉換成false
JSON.parse(JSON.stringify(originArray)) //數組深拷貝
( [ { \ ^ $ | ) ? * + . ] }
array.reduce(callback[, initialValue]) var sum = [1, 2, 3, 4].reduce(function (previous, current, index, array) { return previous + current; }); console.log(sum); // 10
callback函數接受4個參數:以前值、當前值、索引值以及數組自己。initialValue參數可選,表示初始值。若指定,則看成最初使用的previous值;若是缺省,則使用數組的第一個元素做爲previous初始值,同時current日後排一位,相比有initialValue值少一次迭代。code