📖JS数组
数组
数组也是一个对象
它和我们普通对象功能类似,也是用来存储一些值的,不同的是普通对象是使用字符串作为属性名的,而数组使用数字来作为索引操作元素
索引就是从零开始的整数,数组的存储性比普通对象好,在开发中我们经常使用数组来存储一些数据
创建数组
使用构造函数创建
var arr = new Array(); arr[0] = 1; arr[1] = 2; arr[3] = 4;
使用字面量创建
var arrtwo = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]];//二维数组
数组的值也可以是数组,数组中的数组被称为:二维数组
Arry 常用对象方法
push(),向数组的末尾添加一个或多个元素,并返回新的长度,语法:数组名.push(值);
arr.push(30);
console.log("向数组的末尾添加一个或多个元素:"+arr);//输出结果:向数组的末尾添加一个或多个元素:10,20,60,70,80,30
pop(),删除并返回数组的最后一个元素,并返回被删除的值,语法:数组名.pop();
arr.pop();
console.log("删除并返回数组的第一个元素:"+arr);//删除并返回数组的第一个元素:10,20,60,70,80
unshift(),向数组开头添加一个或更多元素,并返回新的长度,语法:数组名.unshift(值);
arr.unshift(40);
console.log("向数组开头添加一个或更多元素:"+arr);//输出结果:向数组开头添加一个或更多元素:40,10,20,60,70,80
shift(),删除并返回数组的第一个元素,并返回被删除的值,语法:数组名.shift();
arr.shift();
console.log("删除并返回数组的第一个元素:"+arr);//输出结果:删除并返回数组的第一个元素:10,20,60,70,80
forEach(),forEach()方法需要一个函数作为参数,称为回调函数,语法:数组名.forEach(function(元素,索引,对象){});
方法用于调用数组的每个元素,并将元素传递给回调函数
arr.forEach(function(value,index,obj){
console.log("返回数组的元素:"+value);
console.log("返回数组的元素的索引:"+index);
console.log("返回数组:"+obj);
})
数组遍历
遍历数组,就是将数组的所有元素取出来
for(i=0;i<arr.length;i++){console.log("for遍历数组:"+arr[i]);}//使用for方法遍历
arr.forEach(function(value,index,obj){ console.log("forEach遍历数组:"+arr[index] })//使用forEach方法遍历
扩展练习
扩展练习:输出当前构造函数中的名字,性别,年龄
function Myname(name,age){
this.name = name;
this.age = age;
Myname.prototype.fun = function(){
console.log("我是:"+name+" 我已经:"+age+"岁了!!");
}
}
var sun = new Myname("孙悟空",18);
var ba = new Myname("猪八戒",10);
var tang = new Myname("唐僧",15);
var zhi = new Myname("蜘蛛精",22);
var gu = new Myname("白骨精",21);
var nameArr = [sun,ba,tang,zhi,gu];
function Bage(){
var xinArr=[];
nameArr.forEach(
function(value,index,obj){
if(nameArr[index].age >=18){
xinArr.unshift(nameArr[index]);
}
})
return xinArr;
}
var Guo = Bage();
console.log(Guo);
扩展练习2:创建一个数组,去除数组中重复的数字
var Kuotwo = [1,2,3,2,2,2,2,2,2,4,5,1,6];
for(i=0;i<Kuotwo.length;i++){
for(a = i +1;a<Kuotwo.length;a++){
if (Kuotwo[i] == Kuotwo[a]) {
Kuotwo.splice(a,1);
a--;
}
}
}
console.log(Kuotwo);
数值思维拓展图
回复即可下载思维拓展图


🧐发表评论