首页 > 编程语言 > 详细

JaveScript权威指南<数组>

时间:2020-05-14 20:25:49      阅读:48      评论:0      收藏:0      [点我收藏+]

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

 

JaveScript权威指南<数组>

原文:https://www.cnblogs.com/jun-web/p/array.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!