数组对象:
1.创建数组对象的方式:
var 对象名 = new Array( );
var 对象名 = new Array( 大小 );
var 对象名 = new Array(值1,值2,值3,值4);
var 对象名 = [ 值1,值2,值3,值4 ];(建议使用)
例:
let arr = new Array(); //创建空数组
let arr1 = new Array(1, 2, 3, 4); //创建数组时赋值
let arr2 = [1, 2, 3, 4];
console.log(arr1[2]); //3
console.log(arr2[0]); //1
2.Array对象属性:
(1)length属性:
let arr1 = new Array(1, 2, 3, 4); //创建数组时赋值
for (let i = 0; i < arr1.length; i++) {//循环遍历
console.log(arr1[i] + "\n");
}
(2)prototype属性(原型)
3.Array对象的方法:
concat( ) 连接数组
join( ) 将数组元素按指定分隔符连接起来,返回一个字符串
pop( ) 删除并返回数组的最后一个元素(出栈)
push( ) 给数组元素添加元素(入栈)
reverse( ) 颠倒数组中元素的顺序
shift( ) 将第一个元素移出数组
unshift( ) 在数组头部插入一个元素
let arr = new Array(); //创建空数组
let arr1 = new Array(1, 2, 3, 4); //创建数组时赋值
let arr2 = [1, 2, 3, 4];
console.log(arr1.concat(arr2)); //将数组连接起来--[ 1, 2, 3, 4, 1, 2, 3, 4 ]
let products = "衣服@首饰@水果";
let names = ["tom", "lily", "lucy"];
let namestr = names.join("-"); //将数组元素按照"-"分隔连接起来,并返回一个字符串
console.log(namestr); //tom-lily-lucy
let ps = products.split("@"); //将字符串转换成数组
console.log(ps); //[ '衣服', '首饰', '水果' ]
names.push("hanmeimei"); //在后面加新内容,输出为总个数
console.log(names); //[ 'tom', 'lily', 'lucy', 'hanmeimei' ]
names.pop(); //删除数组中最后一个元素
console.log(names); //[ 'tom', 'lily', 'lucy' ]
names.shift(); //删除第一个元素
console.log(names); //[ 'lily', 'lucy' ]
names.unshift("xingxing"); //在数组第一个位置加内容
console.log(names); //[ 'xingxing', 'lily', 'lucy' ]
console.log(ps.reverse()); //颠倒顺序---[ '水果', '首饰', '衣服' ]
slice( ):返回数组的一部分(返回的数组包含从start开始到end之间所有元素)
sort( ):对数组元素进行排序,(排序原理是将元素转为字符串,并按照字符串出现先后顺序排序)
spilce( ):插入,删除或替换数组的元素(spilce(开始删除位置,[删除数目、插入元素1、插入元素 2、插入元素3、.......]))
toString( ):将数组转换成一个字符串
let names = ["tom", "lily", "lucy"];
let newnames = names.splice(0, 2); //删除从第一个位置开始删除,删除的两个数字
console.log(newnames); //返回被删除的值----[ 'tom', 'lily' ]
let ss = names.splice(0, 0, "hanhan"); //从第二个位置开始插入,插入一个字符串
console.log(names); //[ 'hanhan', 'lucy' ]
console.log(names.toString()); //hanhan,lucy
二维数组:
二维数组,一维数组的元素是另一个数组。
let ps = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
for (let i = 1; i < ps.length; i++) {
for (let j = 1; j < ps.length; j++) {
console.log(ps[i][j]); //5 6 8 9
}
}
数组去重:
1.只去掉一个数字:
//只能去掉一个数字
let nums = [1, 2, 3, 4, 5, 6, 1];
let m;
for (let i = 0; i < nums.length; i++) {
for (let j = i + 1; j < nums.length; j++) {
if (nums[i] == nums[j]) {
m = i; //将重复的数字的下标赋值给m
break;
}
}
}
nums.splice(m, 1); //删除第m位往后排的一个数字
console.log(nums);
示例图:
2.去掉多个数字:
let numss = [1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1];
let n = [];
for (let i = 0; i < numss.length; i++) {
if (n.indexOf(numss[i]) == -1) { //当数组n里面和nums数组里面没有重复的数组时
n.push(numss[i]); //加入到新的数组n里面
}
}
console.log(n);
示例图: