concat()合并数组
不改变原来的数组,返回合并后的新数组
var arr1 = [1, 2, 3, 4, 5, 6];
var arr2 = ['a', 'b', 'c'];
Array.prototype.myConcat = function (arr) {
// 声明一个空数组用来存放返回值
var list = []
// 浅拷贝this
for (let i = 0; i < this.length; i++) {
list[i] = this[i];
}
for (let j = 0; j < arr.length; j++) {
// 将参数的变量尾部添加进声明的数组中
list[list.length] = arr[j]
}
// 返回合并后的数组
return list;
}
console.log(arr1.myConcat(arr2));
fill(value,start,end)替换数组中的元素
参数一是必填参数,替换的元素
参数二是被替换元素的初始索引值(包含参数二),非必填
参数三是被替换元素的结束索引值(不包含参数三),非必填
只有参数一时,表示参一替换数组所有元素
只有参数一和参数二时,表示从参二(包含参数二)开始,到数组结束的所有元素,使用参数一替换
var arr1 = [1, 2, 3, 4, 5, 6];
Array.prototype.myFill = function (value, start, end) {
if (this.length - 1 < start) {
return this;
} else if (arguments.length == 1) {
for (let i = 0; i < this.length; i++) {
this[i] = value;
}
return this;
} else {
if (arguments.length == 2) {
for (let i = start + 1; i < this.length; i++) {
this[i] = value;
}
return this;
}
for (let i = start; i < end; i++) {
if (this.length == i) {
break;
} else {
this[i] = value;
}
}
return this;
}
}
console.log(arr1.myFill(100,2,5))