数组

2019-12-30  本文已影响0人  丫甘九

数组

数组
创建数组对象
var arr = new Array();
像数组中添加元素

语法:数组[索引] = 值

arr[0] = 10;
arr[1] = 20;
arr[2] = 30;
arr[3] = 40;
读取数组中的元素

语法:数组[索引]
如果读取不存在的索引,他不会报错而会返回undefind


image.png
获取数组长度

可以使用length属性来获取数组的长度(元素的个数)
语法:数组.lenth
对于连续的数组,使用length可以获取到数组的长度(元素的个数)
对于非连续的数组,使用length会获取到数组的最大索引加1


image.png
向数组的最后一个位置添加元素
arr[arr.length] = 70;
arr[arr.length] = 80;
arr[arr.length] = 90;

image.png

使用字面量来创建一个数组

创建一个数组
var arr = new Array();
使用字面量来创建数组

语法:[]

var arr = [];
使用字面量创建数组时,可以在创建时就指定数组中的元素
var arr = [1,2,3,43,5,16];
使用构造函数创建数组时,也可以同时添加元素,将要添加的元素作为构造函数的参数传递
var arr2 = new Array(10,20,30);
创建一个数组,数组中只有一个元素10
arr = [10];
创建一个长度为10的数组
arr2 = new Array(10);
数组中的元素可以是任意数据类型
arr = ["aaaa","aaaads","sfaa","rafer"];
也可以是对象
var obj = {name:"孙悟空"};
arr[arr.length] = obj;
arr = [ {name:"孙悟空"}, {name:"沙和尚"}, {name:"老王"}];
也可以是函数
arr = [function (){},function (){}];
也可以是数组
arr = [[1,23,4],[21,3,4],[2,4,5]];

数组的四个方法

push()
pop()
unshift()
shift()

遍历数组

image.png
forEach()遍历数组
var arr = ["孙悟空",18,"男"];
arr.forEach(function (value,index,obj) { console.log(value) })
image.png
slice()
var arr = ["孙悟空","猪八戒","沙和尚","白骨金","蜘蛛精"];

var result = arr.slice(1,2);
var result2 = arr.slice(3);
var result4 = arr.slice(1,-2);
console.log(result);
console.log(result2);
console.log(result4);
image.png
splice()会影响到原数组,会将指定元素从原数组中删除,并将删除的元素作为返回值返回
var arr = ["孙悟空","猪八戒","沙和尚","白骨金","蜘蛛精"];

var result = arr.slice(1,2);
var result2 = arr.slice(3);
var result4 = arr.slice(1,-2);
//从第一个位置开始,删除俩个
var result5 = arr.splice(1,2);
//从第一个位置开始,删除一个,在第一个位置之前插入"牛魔王","天山公主","红孩儿"
var result6 = arr.splice(1,1,"牛魔王","天山公主","红孩儿");
console.log(result);
console.log(result2);
console.log(result4);
console.log(arr);
console.log(arr);
image.png
数组去重练习
//出创建一个数组
var arr = [1,2,3,4,3,21,1,4,53,32,53,2,7,5,9,7,6,45,56,56,78];

//去除数组中重复的数字

//获取数组中的每一个元素
for (var i = 0;i < arr.length;i++){
  //获取当前元素后的所有元素
  for (var j = i+1;j < arr.length-i;i++){
    //判断俩个元素是否相等
    if (arr[i] ==arr[j]){
      //如果相等,则证明出现了重复的元素,则删除j对应的元素
      arr.splice(j,1);
      //当删除了当前j所在的元素以后,后面的元素会自动补位
      //此时将不会比较这个元素,需要再一次比较j所在位置的元素
      //使j自减
      j--;
    }
  }

}
console.log(arr);
image.png
call()和apply()
fun()=fun.call()=fun.apply
Arguments
function fun(a,b) {
  console.log(arguments instanceof Array);
  console.log(Array.isArray(arguments));
  console.log(arguments[1]);
  console.log(arguments.length);
  console.log(arguments.callee);
}
fun("helkl","aFEWQA");
image.png
上一篇 下一篇

猜你喜欢

热点阅读