javascript Array(数组)
一、数组(Array)
(一)用法
//js声明数组的两大类方式 // 第一类(通常使用) var array1 = [];//初始化 var array2 = [1,2,3];//声明并赋值 array2[2] = 4;//指定固定位置数组元素的值 array2.push(6);//1,2,4,6 // 第二类 var array3 = new Array(); array3.push("张三"); var array4 = new Array(3);//声明数组并指定长度 array4[0] = "张三"; array4.push("name");//张三,,,name
注意:
与Java不同的两点:
a.java只能给指定的数组元素赋值;(js还可以通过push()方法给数组添加元素)
b.java如果指定了数组长度,就不能数组越界。(js可以)
1.1.1 push()方法说明
方式一:声明的数组没有指定长度
1.1.1.1 如果没有给指定元素赋值,调push()方法添加元素,会从元素下标为0开始插入;
1.1.1.2 如果给指定元素赋值后,再调用push()方法添加元素,会从指定元素下标+1的位置开始插入;
举例:
var array3 = new Array(); array3[8] = 'aa'; array3.push("张三");//,,,,,,,,aa,张三
方式二:声明数组时,指定了长度
调用push()方法添加元素,会从最后一个元素下标+1(即从下标为长度n)的位置开始插入(即:允许越界);
举例:
var array4 = new Array(3);//声明数组并指定长度 array4[0] = "张三"; array4.push("name");//张三,,,name
区别:
第一类方法与第二类方法的不同之处在于:第一类不能初始化数组长度,但是没有必要指定数组长度,就算指定了长度,数组越界时也不会抛出异常
(二)操作数组
1.2.1 增、改、删
增:一般使用push()方法,也可使用指定元素下标进行添加;改:指定元素下标进行修改;删:指定元素下标的值为null
举例:
var array = new Array(); array.push("张三");//增加 array.push("李四"); array.push("王五"); array[1] = "赵六";//修改 array[2] = null;//删除
1.2.2 迭代(遍历)数组(查)
var array = new Array(); array.push("张三"); array.push("李四"); array.push("王五");
/** * 方法一(推荐使用) */ for(var index in array) { console.log(array[index]); }
/** * 方法二:使用for循环 */ for(var i = 0; i < array.length; i++) { console.log(array[i]); }
UpdateTime--2017年4月1日11:04:55
UpdateTime--2017年6月30日18:33:23
使用jQuery实现
/** * 方法三:使用$.each()方法 * 第一个参数:数组; * 第二个参数:数组元素索引; * 第三个参数:数组元素值 */ $.each(array, function (index, value) { console.log(index + "," + value); });
变形:
/** * 方法四:$('数组').each(function(带参){}); */ $(array).each(function (index,value) { console.log(index + "," + value); });
使用javascript实现
/** * 方法五:直接使用forEach()方法(不建议使用) * 第一个参数:数组元素值; * 第二个参数:数组元素索引 */ array.forEach(function(value,index) { console.log(value + ',' + index); });
注意:
1.虽然javascript也可以像java那样有自己的foreach方法(方法四),但是IE9下版本不支持,所以不推荐使用。(若非得使用js实现,转到文章:js自定义方法)
2.对于方法一,java中没有这种迭代方式。
UpdateTime--2017年9月7日16:01:12
(三) 格式转换
3.1 将数组转换成字符串
需要使用join()方法
语法:
arrayObject.join(separator)
参数描述:
可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
返回值:
返回一个字符串。该字符串是通过把 arrayObject 的每个元素转换为字符串,然后把这些字符串连接起来,在两个元素之间插入 separator 字符串而生成的。
举例:
var array = ["element1","element2",10]; alert(array.join());//element1,element2,10
UpdateTime--2017年9月8日09:11:43
3.2 将数组转换成JSONArray
// 1.声明一个数组对象[]并赋值 var array = ["element1","element2",10]; // 2.声明一个JSONArray对象 var JSONArray = {}; // 3.对数组进行迭代,并插入到json对象中 for (var i in array) { // 以元素下标为key,该元素为value JSONArray[i] = array[i]; } alert(JSONArray[0]);// element1
2022年5月19日17:58:03
数组非空判断
方式一:
var data = [];
//data为空数组时,要执行的代码
if(data == false){
}
方式二:
var data = [];
//data为空数组时,要执行的代码
if(data.length == 0){
}
写在最后
哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!
相关推荐:
本文来自博客园,作者:Marydon,转载请注明原文链接:https://www.cnblogs.com/Marydon20170307/p/6901877.html