javascript中的数组

一、创建数组

1. 空数组:var obj = new Array( );

2. 指定长度数组:var obj = new Array(size);

3. 指定元素数组:var obj = new Array(元素1, 元素2, ...)

4. 单维数组:var obj = [元素, 元素2, 元素3, ...]

5. 多维数组:var obj = new Array([数组序列1], [数组序列2], [数组序列N]);

 

二、基本操作

1. 增加数组:使用"[ ]"运算符指定一个新下标

2. 删除数组:delete 数组名[下标]

3. 遍历数组:for (var 数组元素变量 in 数组)

 

三、数组属性

1. constructor:引用数组对象的构造函数

2. length:返回数组的长度

3. prototype:通过增加属性和方法扩展数组定义

 

 四、数组方法

1. concat( ):连接两个或更多数组,并返回结果。

  • 该方法不会改变现在的数组,而仅仅返回被连接数组的副本。
  • arrayObject.concat(arrayX, arrayX,...)。arrayX可以是具体的值,也可以是数组对象。

2. join( ):把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。  

  • arrayObject.join(separator)。可选,指定要使用的分隔符,省略参数则使用逗号

3. push( ):向数组的末尾添加一个或更多元素,并返回新的长度

  • 改变数组的长度 arrayObject.push(newelement1,newelement2,....,newelementX)

4. pop( ):删除并返回数组的最后一个元素  

  • pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值 arrayObject.pop( );

5. unshift:向数组的开头添加一个或更多元素,并返回新的长度。  

  • unshift() 方法将把它的参数插入 arrayObject 的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。该方法的第一个参数将成为数组的新元素 0,如果还有第二个参数,它将成为新的元素 1,以此类推。
  • arrayObject.unshift(newelement1,newelement2,....,newelementX)

6. shift:删除并返回数组的第一个元素  

  • 如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。请注意,该方法不创建新数组,而是直接修改原有的 arrayObject。
  • arrayObject.shift()

7. reverse( ):颠倒数组中元素的顺序。

  • 该方法会改变原来的数组,而不会创建新的数组
  • arrayObject.reverse()

8. sort( ):对数组的元素进行排序  

  • 对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
  • arrayObject.sort(sortby)。sortby可选,规定排序顺序,必须是函数
  • function sortby(a, b) { return b - a; //a - b表示升序,b - a表示降序。 }

9. splice( ):方法向/从数组中添加/删除项目,然后返回被删除的项目。

  • 该方法会改变原始数组
  • 如果仅仅添加元素,返回值为空数组;如果删除元素,返回包含删除元素的数组
  • arrayObject.splice(index,howmany,item1,.....,itemX)。index,必需,整数,起始位置,使用负数可以从数组结尾处规定位置;howmany,必需。要删除的项目数量。设置为0,则不会删除项目。itmeX,可选。向数组添加的新项目。

10. slice( ):可以从已有的数组中返回规定的元素  

  • arrayObject.slice(start,end)。start,必需,如果负数表示从结尾开始。end可选,规定从何处结束,如果没有该参数,那么切分从start到数组的结束所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
  • 该方法并不会修改数组,而是返回一个子数组,包含start 到end (不包含该元素)的arrayObject 中的元素。

11. toSource( ):返回该对象的源代码  

  • 只有 Gecko 核心的浏览器(比如 Firefox)支持该方法,也就是说 IE、Safari、Chrome、Opera 等浏览器均不支持该方法。
  • object.toSource()

12. toString() 方法可把数组转换为字符串,并返回结果。

  • arrayObject.toString(); arrayObject 的字符串表示。
  • 返回值与没有参数的 join() 方法返回的字符串相同。

13. toLocaleString( ):把数组转换为本地数组,并返回结果。

  • toLocaleString 方法返回一个 String 对象,这个对象中包含了用当前区域设置的默认格式表示的日期

14. valueof( ):返回Array 对象的原始值

 

toString( )、toLocalString( )、valueOf( )三个方法的区别:

Array、Boolean、Date、Number等对象都具有 toString()、toLocaleString()、valueOf()三个方法的区别

    var obj1 = [1, 2, 3];
    var obj2 = [4, 5, 6];
    var obj3 = [obj1, obj2];

    console.log(typeof obj3.valueOf()); //object
    console.log(typeof obj3.toString()); //string
    console.log(typeof obj3.toLocaleString()); //string

Array.toString() Array.toLocaleString() Array.valueOf(),输出结果toString和toLocaleString输出内容是一样的,且都为字符串形式.而valueOf输出的是这个对象本身的值.

而toString( ) 和toLocaleString( ) 方法的区别

var date = new Date();
console.log(date.valueof()); //1532756801154
console.log(date.toString()); //Sat Jul 28 2018 13:46:41 GMT+0800 (中国标准时间)
console.log(date.toLocaleString()); //2018/7/28 下午1:46:41

console.log(typeof date.valueOf()); // number
console.log(typeof date.toString()); //string
console.log(typeof date.toLocaleString()); //string

toString()方法获取的是String(传统字符串),而toLocaleString()方法获取的是LocaleString(本地环境字符串)。所以使用toString( )是保险的,返回唯一值的方法,不会因为本地环境的改变而发生改变。

valueOf、toString、toLocaleString方法的区别
 表达式valueOf() 的值toString( ) 的值toLocaleString( ) 的值
Arrayvar array = new Array(‘1’,'2','3');

返回数组本身。

返回:Array[3]

把数组转换为字符串,并返回结果,每一项以逗号分割。

返回:“1,2,3”

把数组转换为本地数组,并返回结果。

返回:“1,2,3”

Booleanvar boolean = new Boolean();

返回 Boolean 对象的原始值。

据原始布尔值或者 booleanObject 对象的值返回字符串 “true” 或”false”。默认为”false”Boolean对象没有toLocalString()方法。但是在Boolean对象上使用这个方法也不会报错
Datevar date = new Date():返回 Date 对象的原始值,以毫秒表示把 Date 对象转换为字符串,并返回结果。使用本地时间表示可根据本地时间把 Date 对象转换为字符串,并返回结果,返回的字符串根据本地规则格式化
Math

var pi = Math.PI;

返回 Math 对象的原始值string类型的值string类型的值
Numbervar number = new Number(1234);返回一个 Number 对象的基本数字值把数字转换为字符串,使用指定的基数把数字转换为字符串,使用本地数字格式顺序
Stringvar string = new String("abc");返回某个字符串对象的原始值返回字符串返回字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值