标签:构造 ever 必须 fun 截取 链接 rip UNC 操作
1. 定义方式;
var arr = []; // 数组字面量
var arr = new Array(); // 数组构造函数
数组所有方法都来源于 Array.prototype
2. 数组的读和写;
arr[num] // 不可以溢出读 结果undefined
arr[num] = xxx; // 可以溢出写
3. 改变原数组
push()
// 在数组最后一位添加数据,返回值是数组的长度;
模拟数组方法:
Array.prototype.push = function (){
for( var i=0;i<arguments.lenght;i++){
this[this.length] = arguments[i];
}
return this.length;
}
pop()
// 剪切数组最后一位, 返回值是当前剪切的值;
shift()
// 剪切数组第一位, 返回值是当前剪切的值;
unshift()
// 在数组最前添加数据, 返回值是数组的长度;
sort(fn)
// 排序
// 1. 必须写两个形参
// 2. 看返回值 1) 当返回值为负数时, 前面的数放在前面
// 2) 为正数, 后面的数放在前面
// 3) 为0, 不动
arr.sort(function (a, b) {
return a - b;
});
reverse()
// 逆反(颠倒)顺序
splice(从第几位开始, 截取长度, 切口处添加新数据)
// 可以添加,删除,改。返回值是剪切的值
4. 不改变原数组
concat()
// 链接数组 arr.concat(arr1); 返回值为新数组;
join()
// 参数必须是字符串,把数组转成字符串,以参数来链接。
toString()
// 把数组转为字符串
slice(从该位开始截取, 截取到该位);
// 截取
#### 类数组
1. 属性要为索引(数字)属性, 必须有length
2. 不具有数组所具有的方法
可以给类数组添加数组方法,如push: Array.prototype.push
如果添加splice方法则就跟数组长一样了 [1, 2, 3]
var obj = {
"0": ‘a‘,
"1": ‘b‘,
"2‘: ‘c‘,
"length": 3,
"push": Array.prototype.push,
"splice": Array.prototype.splice
}
好处: (类数组push是根据length来替换)
Array.prototype.push = function (target) {
obj[obj.length] = target;
obj.length ++;
}
标签:构造 ever 必须 fun 截取 链接 rip UNC 操作
原文地址:https://www.cnblogs.com/yuxi2018/p/9456636.html