var d = new Date(2010, 0, 1)
d.valueOf() //返回2010年一月一日的一个时间戳
var p = inherit(o) //p继承o和object.prototype
对象的hasOwnProperty()方法用来检测给定的名字是否是对象的自有属性,对于继承属性他将返回false
Reflect.ownKeys(syObject)
Object.getOwnPropertySymbols(syObject)
数组对应的方法 :
1、join()
var a = [1,2,3] a.join() ; // => "1,2,3" a.join(" ") // => "1 2 3" a.join("") // => "123"
2、reverse()
var a = [1,2,3]; a.reverse().join() // => "3,2,1", 并且现在a的值是[3,2,1]
3、sort()
var a = new Array("banana", "cherry", "apple"); a.sort(); var s = a.join(",") ; //s = "apple, banana, cherry"
var a = [33, 4, 111, 222];
a.sort();
a.sort((a, b) => a - b) // a = 4,33,111,222 从大到小排序
4、concat()
var a = [1,2,3]; a.concat(4,5) //返回[1,2,3,4,5] a.concat([4,5]) //返回[1,2,3,4,5] a.concat([4,5],[6,7]) //返回[1,2,3,4,5,6,7] a.concat(4,[5,[6,7]]) //返回【1,2,3,4,5,【6,7】】
5、slice()
var a = [1,2,3,4,5] a.slice(0,3) //返回[1,2,3] a.slice(3) //返回[4,5] a.slice(1,-1) //从第一个到倒数第一个(不包括) 返回[2,3,4] a.slice(-3.-2) //从倒数第三个到倒数第二个[3]
6、splice
var a = [1,2,3,4,5,6,7,8] a.splice(4) //返回【5,6,7,8】; a为【1,2,3,4】 a.splice(1,2) //返回【2,3】 a是【1,4】 //splice的前两个参数指定了需要删除的数组元素,紧随其后的任意个数的参数指定了需要插入到数组中的元素,从第一个参数指定的位置开始插入 var a = [1,2,3,4,5] a.splice(2,0,‘1‘,‘b‘) //返回【】 ; a是【1,2,‘a’,‘b’,3,4,5】 a.splice(2,2,[1,2],3) //返回【‘a‘, ‘b‘】; a是【1,2,[1,2],3,3,4,5】
7、push()和pop()、unshift() 和shift()
var a = [] a.push(1,2) // [1,2] 返回2 a.pop() // [1] 返回2 a.push(3) // [1,3] 返回2 a.pop() // [1] 返回3 a.push([4,5]) // [1,[4,5]] 返回2 a.pop() // [1] 返回[4,5] a.pop() //[] 返回1 a.unshift(1) //[1] 返回1 a.unshift(22) //[22,1] 返回2 a.shift() // [1] 返回22 a.unshift(3,[4,5]) //[3,[4,5],1] 返回3
8、toString()和toLocalString()
[1,2,3].toString() //‘1,2,3‘ [‘a‘, ‘b‘, ‘c‘].toString() //‘a,b,c’ [1,[2,‘c‘]].toString() // ‘1,2,c‘
9、forEach()
var data = [1,2,3,4,5] var sum = 0 data.forEach(value => sum += value) sum // 15 data.forEach((v, i, a) => a[i] = v + 1) data //[2,3,4,5,6]
10、map()
a = [1,2,3] b = a.map(x => x * x) b // [1,4,9]
11、filter()
a = [5,4,3,2,1] smallValues = a.filter(x => x<3) //[2,1] everyother = a.filter((x,i) => i%2 ==0) // [5,3,1]
12、every()和some()
var a = [1,2,3,4,5] a.every(x => x<10) //true, 所有的值小于10 a.every(x => x%2 == 0) //false 不是所有的值都是偶数 a.some(x => x%2 == 0) //true a中含有偶数 a.some(isNaN) //false a中不包含非数值的元素
13、reduce()和reduceRight()
var a = [1,2,3,4,5] var sum = a.reduce((x,y) => x+y , 0) //数组求和 第二个参数是初始值 var product = a.reduce((x,y) => x*y, 1) //数组求积 第二个参数是初始值 var max = a.reduce((x,y) => (x>y)?x:y) //求最大值
14、indexOf() 和lastIndexOf()
var a = [0,1,2,1,0] a.indexOf(1) // 1 a.lastIndexOf(1) // 3 第二个参数可选,表示从第几个开始查询 a.indexOf(3) // -1 没有3这个元素
数组类型:
Array.isArray([1,2]) // true Array.isArray({a:1}) //false [] istanceOf Array //true ({}) instanceOf Array //false
原文:https://www.cnblogs.com/jun-web/p/array.html