JavaScript数组与内置对象
数组
- 定义: 数组是长度可变,通过索引存取元素,
可以储存不同类型数据的容器- 1.长度可变
2.通过索引存取元素
3.可以储存不同类型数据
创建数组
(1)通过 Array创建数组
- 指定数组长度
var arr2=new Array(5);
- 显式指定多个值
var arr3 = new Array('Jack','Rose',10,5);
(2)通过[]创建数组
var empty=[]; //没有元素的数组,空数组
var myarray=[39,60,99,85,60,99]; //有6个数值的数组
var misc=[1.1,true,'jenny']; //存储3个不同类型的元素
获取数组元素的索引
indexOf(element)
方法
从前往后查找,首次匹配到element元素时的索引
lastIndexOf(element)
方法
从后往前查找,首次匹配到element元素时的索引
通过索引获取数组元素
语法格式:数组[索引]
var students = ['Jack', 'Rose']; var student = students[1]; // => 'Rose'
获取数组长度
通过length属性,可以获取数组的长度
- var a = new Array(“first”, “second”, “third”);
a[48] = “12”;
document.write(“显示结果:”+a.length);
注意:JavaScript数组最多可以容纳232-1个元素
通过for-in循环遍历数组
注意:JavaScript的for-in循环中,变量i表示数组的索引,与Java中的增强型for循环不同
var students = ['Jack', 'Rose', 'Linda'],;
for (var i in students ) {
alert(students[i]); // 依次提示 Jack, Rose, Linda
}
对数组进行重排序
反转数组元素(直接影响数组)
reverse()方法
var students = ['Jack', 'Tim','Rose']; students.reverse(); console.log(students);
- 排序(直接影响数组
sort(sortby)方法
sortby可选,定义排序规则;默认升序
var students = ['Jack', 'Tim', 'Rose']; students.sort(); console.log(students);
- 拼接(不影响原数组)
concat()
var students = ['Jack', 'Rose']; var students2=['Linda','Tim']; var result = students.concat(students2); console.log(result);
- 截取(不影响原数组)
slice(startIndex [,lastIndex])
var students = ['Jack', 'Rose', 'Linda','Tim']; var result = students.slice(1); console.log(result);
二维数组与String对象
定义
: 二维数组是有两个维度
,每行元素都是一维数组
的数组
创建二维数组
var students = [
['第一排,第一列','第一排,第二列','第一排,第三列'],
['第二排,第一列','第二排,第二列','第二排,第三列'],
['第三排,第一列','第三排,第二列','第三排,第三列']
];
//students[1][2] 表示“第二排,第三列”的元素
遍历二维数组
1
var students = [
['第一排,第一列', '第一排,第二列', '第一排,第三列'],
['第二排,第一列', '第二排,第二列', '第二排,第三列'],
['第三排,第一列', '第三排,第二列', '第三排,第三列']];
for (var i = 0; i < students.length; i++) {
for (var j = 0; j < students[i].length; j++) {
document.write("students[" + i + "][" + j + "]:" + students[i][j]);
document.write("<br>");
}}
2
var arr=[
['快乐','新生','奉献'],
['认真','负责','勤奋','严格'],
['魔力智慧','陶冶心灵','燃烧激情','快乐新生']
];
for(var i in arr){
var str="";
for(var j in arr[i]){
str+=arr[i][j]+" ";
}
console.log(str);
}
内置对象
- 定义:内置对象是由ECMAScript实现并提供,
独立于宿主环境的对象。
定义:String对象是用于解析和操作字符串的内置对象
TODO明天见