Javascript_数组及方法

// 数组定义 [] 中括号
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]






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值