// 数组定义 [] 中括号
var arr = [
1,
2,
3];
// 数组从0开始算位置 arr[0] = 1 ....
// 一些方法
arr.push(
11);
// 添加到末尾 改变原数组
arr.push(
1,
2,
3);
arr.push([
1,
2,
3],
2,
3);
arr.push({
2:
2});
// 截取start-end的内容
console.log(arr.slice(
0,
1));
// 参数:开始,结尾(不包括结尾)
console.log(arr);
// 不改变原来的数组
// 删除最后一个并返回出来
console.log(arr.pop());
console.log(arr.pop());
console.log(arr.pop());
//start-end(不包括)
var arr = [
0,
1,
2,
3,
4,
5];
arr.splice(
0,
2);
// 改变原数组
console.log(arr);
var arr = [
0,
1,
2,
3,
4,
5];
arr.splice(
2,
5);
console.log(arr);
//length长度
var arr = [
1,
2,
3,
4];
console.log(arr.length);
console.log(arr[arr.length-
1]);
// 获取最后一个
arr.length =
1;
// 修改长度 就只剩下一个了
console.log(arr);
// [1] = 1 length
arr.length =
100;
console.log(arr);
// [1, empty*99] = 100 length
// indexOf(value) 查找 成功返回位置,失败返回-1
var arr = [
2,
"hello",
"world",
"you"];
console.log(arr.indexOf(
222));
// lastIndex(value,[start])
// 数组最后一次出现的位置,[从哪开始找:0 / arr.length-1]
var arr = [
1,
2,
3,
2,
4];
console.log(arr.lastIndexOf(
2));
// concat(arr) 连接数组,不修改原数组
var a = [
1,
2,
3];
var b = [
4,
5,
6];
var c = a.concat(b);
console.log(c);
// [1,2,3,4,5,6]
// join(value) 转换为字符串,分割数组
console.log([
1,
2,
3].join(
"|"));
// 1|2|3
// reverse()反转 sort()升序
var arr = [
1,
12,
323,
54,
5];
arr.sort();
console.log(arr);
// shift()删除第一个 unshift() 第一个添加
var arr = [
1,
2,
3];
arr.unshift(
2,
3,
4);
console.log(arr);
// arr.toString() 转换为字符串
// isArray() 是否是数组 返回值true/false
console.log(Array.isArray([
2]));
// valueOf() 返回数组对象的原始值
// arr.constructor; 显示构造函数
console.log([
1,
2,
3].constructor);
// prototype 允许你向数组对象添加属性或方法
Array.prototype.myUcase =
function() {
// 功能:全部转换为大写
for (i=
0; i<
this.length; i++) {
this[i]=
this[i].toUpperCase();
// 转换为大写
}
}
var arr = [
'a',
'b',
'c'];
arr.myUcase();
// 调用自定义方法
console.log(arr);
// 下面特殊
// every(function(){}); 返回 true/false
// 功能:检查数组全部元素是否符合条件
var arr = [
1,
2,
3,
4];
function arrFun(num) {
// console.log(num); // num == 数组的元素
return num >
0;
}
console.log(arr.every(arrFun));
console.log(arr.every(
function(num){
return num >
3 ;
}))
// IE11-(包括IE11)不支持
// fill(value,[start开始位置],[end结束位置])
// 功能 用value值覆盖全部元素
var arr = [
1,
2,
3];
console.log(arr.fill(
1));
var arr = [
1,
2,
3];
console.log(arr.fill(
1,
2));
var arr = [
1,
2,
3];
console.log(arr.fill(
1,-
1));
// -1 == 最后一个
// forEach(数组元素,数组索引)
var arr = [
1,
2,
3];
arr.forEach(
function(item,index){
console.log(
"数组的位置:",index,
" 数组的值:",item);
})
// reduce()计算值
// 从0到arr.length-1 计算
var arr = [
1,
2,
3,
4];
var sum = arr.reduce(
function(num1,num2){
return num1 + num2;
})
console.log(sum);
// map() 处理每一个数组元素,并返回新数组
var arr = [
1,
2,
3,
4,
5];
var newArr = arr.map(
function(num) {
return num*
20;
})
console.log(newArr);
// filter() 返回符合条件的数组元素
var arr = [
1,
2,
3,
4];
console.log(arr.filter(
function(num){
return num >
0;
}))
// keys() 创建可迭代对象
var arr = [
1,
2,
3,
4];
var keysList = arr.keys();
console.log(keysList.next().value);
console.log(keysList.next().value);
console.log(keysList.next().value);
console.log(keysList.next().value);
// 0, 1, 2, 3 感觉就是数组的位置
console.log(
11111111111111111);
// arr.copyWithin(位置开始,[可选:开始位置],[结束位置]) // IE11-不支持
// 第二个第三个是复制的内容是几个,0-2,复制两个到位置开始
// 功能:自己复制自己的内容
var arr = [
1,
2,
3];
console.log(arr.copyWithin(
0,
1,
3));
// [2,3,3] 1,2位置要复制,0位置开始
// IE11-不支持
// entries() 返回一个可迭代对象
var arr = [
1,
2,
3,
4];
var iterator = arr.entries();
console.log(iterator.next().value);
// [0,1]
console.log(iterator.next().value);
// [1,2]
console.log(iterator.next().value);
// [2,3]