目录
1. 数组去重 利用indexOf 和 push进行【据说面试常问】
1. 数组去重 利用indexOf 和 push进行【据说面试常问】
// 核心思路
// 1. 判断新的数组中有没有旧数组这个元素 利用indexOf进行判断
// 2. 值若为-1,就push到新的数组里面去
// 数组的去重
var arr4 = [100, 100, 300, 300, 401, 501, 601];
function unique(arr) {
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) === -1) {
newArr.push(arr[i]);
}
}
return newArr;
}
console.log(unique(arr4));
2. concat()
参数可以是数字【也可以是其它任意数据类型的元素】
参数可以是数组
参数可以是变量
// 1. concat方法
var arr1 = [1, 2, 3];
// 参数是一个数字
var arr2 = arr1.concat(4);
console.log(arr2); // [1, 2, 3, 4]
console.log(arr1); // [1, 2, 3]
// 参数是一个数组
var arr3 = arr1.concat([4, 5, 6]);
console.log(arr3); // [1, 2, 3, 4, 5, 6]
// 参数是变量
var a = [7, 77, 777];
var b = [9, 99, 999];
var c = a.concat(b);
console.log(c); // [7, 77, 777, 9, 99, 999]
3. slice()
不加参数
加一个参数
两个参数
参数负数等几种情况
// 2. slice 不影响原有的数组
var arr4 = [55, 66, 77, 88, 99];
// 2.1 不加参数
console.log(arr4.slice()); // [55, 66, 77, 88, 99]
// 2.2 加一个参数
console.log(arr4.slice(1)); // [66, 77, 88, 99] 从索引为1的元素开始取到最后一个参数
// 2.3 加两个参数
console.log(arr4.slice(0, 2)); // [55, 66] 索引为0 到索引为2之间不包括索引为2的参数
// 2.4 索引是负数
console.log(arr4.slice(-2)); // [88, 99] 最后一个元素索引是-1,倒数第二个是-2,表示从倒数第二个元素开始取到最后一个
4.splice()
// 参数1:从哪个元素开始操作
// 参数2:删除指定索引的元素
// 参数3、4:要添加的元素
// 3. splice() 会修改原来的数组
var Arr = [1, 2, 3, 4, 5];
// 3.1 添加元素 从索引为1的这个位置开始添加元素
Arr.splice(1, 0, 99, 98); // [1, 99, 98, 2, 3, 4, 5] 没有删除元素,但是多了99,98这两个元素
console.log(Arr);
// 从索引为0的位置开始添加元素
Arr.splice(0, 0, 100, 200); // [100, 200, 1, 99, 98, 2, 3, 4, 5] 发现开头多了100,200这两个元素
console.log(Arr);
// 3.2 删除元素
Arr.splice(1, 1);
console.log(Arr);//[100, 1, 99, 98, 2, 3, 4, 5] 发现元素200被删除了
// 3.3 替换元素
Arr.splice(1, 1, 87, 97);
console.log(Arr);// [100, 87, 97, 99, 98, 2, 3, 4, 5] 发现 元素被替换为了87,97
结尾:
学习id: 201903090124-24
现在是大三学生,学习到了前后端交互阶段,如有不对的地方,欢迎指正,一起努力呀。如有转载请注明出处。
如果我的整理对你有帮助,欢迎点个赞