1 一维数组
在js中数组也是一个对象,是用来存储和操作一批具有相同类型数据的对象类型
<script type="text/javascript">
// 第一种:使用内置对象-Array对象,定义长度后在赋值
var arr = new Array(1);
arr[0] = "1";
arr[1] = "2";
arr[100] = "3"
console.log(arr[1]);
console.log(arr.length);
/*
通过new创建的Array对象,括号里面传入的是默认的数组长度。
(1)当括号里面不写入数据:数组长度默认为0,为数组赋值后,数组长度就为(赋值最大下标值+1)。
(2)当括号里面写入数据:
2.1)(赋值最大下标值+1)数小于或者等于默认长度,数组长度就为默认长度。
2.2)(赋值最大下标值+1)数大于默认长度,数组长度就为(赋值最大下标值+1)。
在js中,数组长度是可以自动改变的,需要结合数组默认长度和赋值个数共同来确定数组长度。
因此,一般在创建数组是可以不添加数据。
*/
// 第二种:使用内置对象-Array对象,同时进行赋值
var arr2 = new Array(4,5,6);
console.log(arr2[1]);
/*
这种方式至少传入两个数字类型的值,传入其他类型可以传一个。
如果传入一个数字类型的值,只会默认为默认数据长度。
*/
// 第三种:使用字面量来创建数组同时赋值
var arr3 = [12,45,78,65,45,16];
// for (var i = 0; i < arr3.length; i++) {
// console.log(arr3[i]);
// }
//对数组排序
arr3.sort();
//通过分隔符将数组转为字符串
console.log("["+arr3.join(",")+"]");
</script>
2 数组对象的常用属性和方法
属性: length
表示数组所占内存空间的数目(赋值最大下标值+1)和数组中元素的个数.
方法:
http://www.w3school.com.cn/jsref/jsref_obj_array.asp
3 二维数组
定义:二维数组就是一维数组里面的元素依然是一位数组。
如[[1,2],[12,23],[14,24]]
<script type="text/javascript">
// 第一种:使用内置对象-Array对象,定义长度然后赋值
var myArray = new Array();
myArray[0] = ["java","c++","python"];
console.log(myArray);
// 第二种:使用内置对象-Array对象,同时进行赋值
var myArray2 = new Array(
["java","c++","python"]
);
// 第三种:使用字面量来创建数组同时赋值
var myArray3 = [
["java","c++","python"],
["英语","日语","汉语"]
];
//遍历二维数组
for (var i = 0; i < myArray3.length; i++) {
for (var j = 0; j < myArray3[i].length; j++) {
console.log(myArray3[i][j]);
}
}
</script>
4 JavaScript 数组迭代方法
4.1 回调函数
当我们将一个函数作为参数传到另一个函数里面,那个函数执行完之后,再执行传进去的这个函数。这个过程就叫做回调,这个函数我们称为回调函数。
讲个故事:
假如你有一个女朋友,送她回家,对她说你到家给我发个信息。
function 回家(function 发送信息)
(1)先执行"回家"的方法",女朋友安全到家。
(2)到家之后在执行“发送信息”:亲爱的,我已经到家了。
A函数传入B函数,先执行A函数,再执行B函数
function A(){
// 先执行
}
function B(){
// 再执行
}
A(B());
4.2 forEach() 方法
可类似于java的增强for循环。
forEach方法为每个数组元素调用一次函数(回调函数),数组中有几个元素就会执行几次.
forEach方法需要传递一个函数作为参数,这个参数就是回调函数。
回调函数可以定义三个参数:
第一个参数为当前遍历的元素
第二个参数为当前遍历的元素索引
第三个参数为当前遍历的数组
// 1.遍历一维数组
var myArray1 = ["java","c++","python"];
myArray1.forEach(function(value,index,obj){
console.log("value:"+value+",index:"+index+",obj:"+obj);
});
//上述我们只需要元素,对代码进行重写:
myArray1.forEach(function(value){
console.log(value);
});
// 2.遍历二维数组
var myArray2 = [
["java","c++","python"],
["英语","日语","汉语"]
];
myArray2.forEach(function(value){
value.forEach(function(val){
console.log(val);
});
});
5 其他内置对象-String、Math、Date
查看api:http://www.w3school.com.cn/jsref/jsref_obj_string.asp