您的位置:首页 > Web前端 > JavaScript

js操作数组

2016-09-04 15:17 417 查看
一、数组的声明方式:

var colors = new Array();//创建数组

var colors = new Array(20);//创建20个长度的数组

var colors = new Array("Greg");//创建字符串数组

var name=[];//空数组

var a = [[1,2],[3,4]];//多维数组

关联数组:

var lennon = Array ();

lennon["name"] = "john";

lennon["year"] = 1940;

lennon["living"] =false;

对象数组:

var a={name:123};

var b={age:456};

var objarr = [a,b];

//输出对象的名和值

alert(Object.keys(objarr[0])+":"+objarr[0].name+","+Object.keys(objarr[1])+":"+objarr[1].age);

读取设置数组的代码示例:

var colors = ["red","blue","green"];//定义一个字符串数组

alert(colors[0]);//显示第一项

colors[2] = "black";//修改第三项

colors[3] = "brown";//新增第四项

注意:

1、var colors = ["red","blue","green"];//创建一个包含3个字符串的数组

  colors.length =2;

  alert(color[2]); //undefined

2、var colors = ["red","blue","green"];

  colors[99] ="black";  //在位置99添加一个颜色,其中3至98都是不存在,取值会报undefined。

  alert(colors.length);//100

二、数组检测

1、instanceof

相关示例:

if ( value instanceof Array){//检测值是否为数组

  //对数组执行某些操作

}

2 、Array.isArray()是ECMAScript5增加的方法,支持ie9、firefox 4+、safari 5+、opera 10.5+、Chome。

if ( Array.isArray(value)){//检测值是否为数组

  //对数组执行某些操作

}

相关示例:

var a = [1, 2, 3];


typeof a;// "object"


Array.isArray(a); // true


上面代码中,
typeof
运算符只能显示数组的类型是
Object
,而
Array.isArray
方法可以对数组返回
true
Array.isArray
方法用来判断一个值是否为数组。它可以弥补
typeof
运算符的不足。

三、数组转换

示例一:

var colors = ["red","blue","green"];

alert(colors.tostring()); //red,blue,green

alert(colors.valueof()); //red,blue,green

alert(colors); //red,blue,green

示例二:

var a = [1, 2, 3];


a.valueOf() // [1, 2, 3] 
valueOf
方法返回数组本身。


a.toString() // "1,2,3" 返回数组的字符串形式。


var a = [1, 2, 3, [4, 5, 6]];


a.toString() // "1,2,3,4,5,6"


a.toLocaleString(); //1,2,3 当调用此方法时会创建一个数组值的以逗号分隔的字符串

四、数组的相关操作

1、分割符的使用:

  join方法以参数作为分割符,将所有数组成员组成一个字符串返回。如果不提供参数,默认用逗号分割。

  相关示例:

  var a = [1,2,3,4];

  a.john(' '); // '1 2 3 4'

  a.john(' | '); // "1 | 2 | 3 | 4"

  a.john(); // "1,2,3,4"

  如果数组成员是undefined或null或空位,会被转成空字符串。

  
[undefined, null].join('#')
// '#'


  ['a',, 'b'].join('-')
// 'a--b'


  通过
call
方法,这个方法也可以用于字符串。

  
Array.prototype.join.call('hello', '-')
// "h-e-l-l-o"


  join
方法也可以用于类似数组的对象。

  
var obj = { 0: 'a', 1: 'b', length: 2 };


  
Array.prototype.join.call(obj, '-')
// 'a-b'


2、增加数组:

  1、unshift() 方法向数组的开头添加一个或多个元素,并返回新的长度。 // 注意:会改变原数组

    相关示例:

    var a = ['a', 'b', 'c'];

     a.unshift('x'); // 4

a // ['x', 'a', 'b', 'c']

  2、slice()方法

  3、

3、删除数组:

4、修改数组:

5、合并数组:

综合示例:

五、数组索引查找

六、数组迭代

七、数组排序
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: