一、数组简介[array]
数组是个特殊的变量,有序排列的一个集合。可以通过怎删改查的方法对数组中的元素进行更改。
下面声明一个名字为arr,内容为1234的数组。
let arr = [1,2,3,4]
数组特征
1、数组内容用中括号括起来。
2、内容用 , 隔开。
3、内容为字符串时用" " 或者 ' ‘,否则默认变量或者数字。
4、数组可以包含对象,即数组对象。
二、数组基本方法
1、增
从数组最后增加:
数组名.push()
let arr = [1,2,3,4]
//后面新增
arr.push('五')
console.log(arr);
开头开始增加:
数组名.unshift()
let arr = [1,2,3,4]
//前面新增
arr.unshift('五')
console.log(arr);
2、删
删最后一个:
数组名.pop()
let arr = [1,2,3,4]
arr.pop()
console.log(arr);
删第一个:
数组名.shift()
let arr = [1,2,3,4]
arr.shift()
console.log(arr);
从选中的下标开始删几个:
:数组名.splice(下标,删除几个)
let arr = [1,2,3,4]
arr.splice(2,1)
console.log(arr);
3、改
数组名[下标] = 更改值
let arr = [1,2,3,4]
arr[2] = '哈哈'
console.log(arr);
4、查
数组名[下标]
let arr = [1,2,3,4]
console.log(arr[2]);
三、其他方法
常用
1、forEach
(es6开始新的遍历方法)
语法
let myFunction = (a, b) => a * b;
2、filter
(过滤出符合条件的元素)
let arr = [
{ name: "1" },
{name:"2"}
];
const res = arr.filter((it) => it.name == 1);
console.log(res);
3、concat
(拼接成数组)
concat() 方法用于连接两个或多个字符串。
// 拼接数组
let arr = [1, 2, 3, 4, 5];
let res = arr.concat([6, 7, 8], 1, 2, 3,4)
console.log(res);
4、find
()
,,
5、some
(有一个元素符合要求就输出true,否则false)
let arr = [1, 5, 1, 1, 1];
let res = arr.some((item) => {
return item >= 2;
});
console.log(res);
可以试一下,把5改成小于2的数字试一下,结果是flase吗?
6、every
(全部元素符合条件输出true,否则flase)
发现5和6的类似了吗?输出都是布尔值。
let arr = [2, 5, 3, 8, 1];
let res = arr.every((item) => {
return item >= 2;
});
console.log(res);
7、map(映射,如下列映射出name)
let arr = [
{
name:"翠花",
gender:"18",
},{
name:"小芳",
gender:"19",
},{
name:"二狗",
gender:"20",
}]
const res = arr
.map((it) => it.name)
console.log(res);
8、includes
用于判断字符串是否包含指定的子字符串
var str = "Hello world, welcome to the Runoob。";
var n = str.includes("Runoob");
输出true
9、slice
从已有的数组中返回选定的元素(数组单元的截取)
let arr=['aa','bb','cc','dd','ee','ff'];
let data=arr.slice(2);
新数组data结果为: ["cc", "dd", "ee", "ff"]
10、reduce
接受一个函数作为累加器,数组中的每个值开始缩减,最终计算为一个值。
var numbers = [65, 44, 12, 4];
function getSum(total, num) {
return total + num;
}
function myFunction(item) {
document.getElementById("demo").innerHTML = numbers.reduce(getSum);
}