// 数组类型是object,最后一个元素不加逗号
var cars = ["BMW", "PST", "AD"];
console.log(typeof cars);
// 可以通过new Array()声明,一般较少使用
var stus = new Array("swk", "zbj", "shs");
console.log(stus);
// 通过索引获取数组内部元素
console.log(cars[0] + stus[1]);
// 修改数组元素
stus[0] = "tsz";
console.log(stus);
// length属性
console.log(cars.length);
// 访问第一个
console.log(cars[0]);
// 访问最后一个
console.log(cars[cars.length - 1]);
// 遍历数组
// for循环
var names = ["swk", "zbj", "shs", "tsz"];
var namesLength = names.length;
for (var i = 0; i < namesLength; i++) {
console.log(names[i]);
};
// forEach()
names.forEach((item, index) => {
console.log(item + index);
});
// 添加元素
// push()
var books = ["shz", "xyj", "sgyy"];
console.log(books);
books.push("hlm");
console.log(books);
// 通过length属性向后添加
books[books.length + 3] = "hhx"; // 中间添加三个空值
console.log(books);
// 判断是否是数组
// Array.isArray()
console.log(Array.isArray(books));
// isArray(), constructor可以返回对象的构造函数,数组返回function Array() { [native code] },对象返回function Object() { [native code] }
// 先获取构造函数,再通过toString()方法转换为字符串,再用indexOf判断是否包含
console.log(books.constructor.toString().indexOf("Array") != -1);
// instanceof
console.log(books instanceof Array);
// 把数组转换为字符串
console.log(books.toString());
// join()可以规定分隔符,默认是逗号
console.log(books.join("-"));
// pop()删除末尾元素
books.pop();
console.log(books);
// push()末尾添加元素,该方法返回新数组长度
books.push("hello");
console.log(books);
// shift()头部删除元素,该方法返回删除的元素
books.shift();
console.log(books.shift());
// unshift()头部添加元素,该方法返回新数组长度
books.unshift("hello");
console.log(books);
console.log(books.unshift()); // 8
// 拼接数组内部元素
// splice(拼接位置,拼接个数,拼接内容),返回一个已删除项的数组
const star = ["zjl", "ljj", "wlh"];
star.splice(2, 2, "zxc", "hg");
console.log(star); // zjl ljj zxc hg
// 可以通过设定splice参数删除指定元素,只设置两个参数,从第几个开始,删除几个
star.splice(0, 2);
console.log(star);
// 数组之间拼接
// concat()
var arr1 = ["xm", "xw", "xl"];
var arr2 = ["xf", "xz", "xx"];
var arr3 = arr1.concat(arr2);
// 将值作为参数合并
arr3 = arr3.concat(["xk", "xa"])
console.log(arr3);
// 数组裁开slice(指定位置分割)
var arr4 = arr3.slice(4);
console.log(arr4);
// 两个参数(不包括开头,包括结尾)
arr4 = arr4.slice(2, 4);
console.log(arr4);
// 数组排序
// sort()按照字母顺序进行排列
var fruits = ["Banana", "Orange", "Apple", "Mango"];
console.log(fruits.sort());
// 反转数组reverse()
console.log(fruits.reverse());
// 重点是按照字符串顺序排列,针对数值会有很大影响20>100
// 针对数值排序--比值函数(返回正值、负值、0)
// 可以通过排序找出最大最小值
var points = [10, 44, 20, 78, 16, 33];
// 从小到大
function sx() {
points.sort((a, b) => {
return a - b;
});
console.log(points);
console.log(points[0]);
};
sx();
// 从大到小
function jx() {
points.sort((a, b) => {
return b - a;
});
console.log(points);
console.log(points[0]);
};
jx();
// 找最大最小值可以直接通过Math.max.apply/Math.min.apply,第一个参数null,第二个参数是指定数组
console.log(Math.max.apply(null, points));
console.log(Math.min.apply(null, points));
// 排列对象数组
var cars = [
{type: "BC", years: 2016},
{type: "BM", years: 2014},
{type: "AD", years: 2020},
];
function carsYears() {
cars.sort((a, b) => {
return a.years - b.years;
});
console.log(cars);
};
carsYears();
// 遍历数组
// forEach
var nums1 = [44, 24, 9, 36, 99];
// 先排序
function numsPx() {
nums1.sort((a, b) => {
return a - b;
});
console.log(nums1);
};
numsPx();
// 再遍历
nums1.forEach(item => {
console.log(item);
});
// Array.map()通过对每一个数组元素执行函数创建新的数组
// nums数组*2
var nums2 = nums1.map(value => value * 2);
console.log(nums2);
// Array.fliter()过滤新数组
// 找出大于24的数
var nums3 = nums1.filter(value => value > 24);
console.log(nums3);
// Array.reduce()获取数组总和,还可以接收一个初始值
var nums4 = nums1.reduce((total, value) => total + value, 200);
console.log(nums4);
// Array.every()检测所有数组内容是否符合要求
// 所有数组内容大于20
var nums5 = nums1.every(value => value > 20);
console.log(nums5); // false
// Array.some()判断是否存在合格数据要求
// 是否有大于20的数值
var nums6 = nums1.some(value => value > 20);
console.log(nums6); // true
JS数组
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 数组 我们知道变量用来存储数据,一个变量只能存储一个内容。假设你想存储10个人的姓名或者存储20个人的数学成绩,就...
- 这是学习过程中记录的一些关于数组操作的常用属性或方法,记录一下方便以后使用。 // 数组去重 var arr1 =...
- 场景: 在vue中,我在data定义了变量,接收到了后台的数据,数组类型 我把它传递给了子组件,但是我并不想直接改...