1. 将一个数组[1, 2, 3, 4, 5]转换成字符串1-2-3-4-5
2. 删除数组 arr 第一个元素,不要直接修改数组 arr,得到删除后的新数组。
3..!!!!!用于过滤一个数组内重复的元素(数组去重),返回去重之后的数组。
//例如:var arr1 = [2, 4, "a", "b", "c", 1, 2, 2, 5, "a", "b"];
//去重后: [2, 4, "a", "b", "c", 1, 5];
4.实现将一个数组中的元素由从大到小排序进行排列(数组排序)。
//例如:var arr1 = [2, 44, 8, 23, 13, 5]
//返回:[44, 23, 13, 8, 5, 2]
5. 实现将数组里面的元素顺序颠倒过来(数组反转),并返回反转之后的数组。
例如:var arr1 = [2, 44, 8, 23, 13, 5]
//返回:[5, 13, 23, 8, 44, 2]
6. 用于合并两个数组,并且合并之后的数组中没有重复的元素。
例如:var arr1 = [2, 44, 8, 23, 13, 5]
var arr2 = [2, 64, 38, 73, 13, 5]
//合并之后:[2, 44, 8, 23, 13, 5,64, 38, 73]
7.找到在第一个数组array1中出现,而在第二个数组array2中没有出现的数字,并组成新数组。
例如:var arr1 = [2, 44, 8, 23, 13, 5]
var arr2 = [2, 64, 38, 73, 13, 5]
//得到:[44,8,23]
8.二维数组[1,2,[3,4,5,6]],如何转换成一维数组`[1,2,3,4,5,6]`
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 1. 将一个数组[ 1, 2, 3, 4, 5] 转换成字符串1 - 2 - 3 - 4 - 5
var arr = [1, 2, 3, 4, 5];
console.log(arr.join('-'));
// 2. 删除数组 arr 第一个元素, 不要直接修改数组 arr, 得到删除后的新数组。
var arr = [1, 2, 3, 4];
var arr2 = arr.slice(1);
console.log(arr2);
// 3.!!!!!用于过滤一个数组内重复的元素( 数组去重), 返回去重之后的数组。
var arr1 = [1, 2, 3, 4, 4, 8, 5, 8, 9];
var arr2 = [];
for (var i = 0; i < arr1.length; i++) {
if (!(arr2.includes(arr1[i]))) {
// arr2.includes(arr1[i]) == false
// arr2.indexOf(arr[i]) == -1
arr2.push(arr[i]);
}
}
console.log(arr2);
var arr = [1, 2, 3, 3, 3, 4, 5, 2, 1, 6, 7, 7, 8, 5, 6, 9];
// 过滤数组
for (var i = 0; i < arr.length; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (arr[i] === arr[j]) {
// 删除
arr.splice(j, 1);
// 回溯
j--;
}
}
}
console.log(arr);
// 4. 实现将一个数组中的元素由从大到小排序进行排列( 数组排序)。
var arr = [99, 5, 12, 6, 10, 100, 87, 34, 10, 2, 5, 27, 98, 31, 23];
for (var j = 0; j < arr.length - 1; j++) {
for (var i = 0; i < arr.length - j - 1; i++) {
if (arr[i] < arr[i + 1]) {
// 比较 之后交换位置
var temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
}
console.log(arr);
// sort() 数组排序
sort(0, arr.length - 1);
arr1.sort(function (a, b) {
return b - a;
});
console.log(arr);
// 5. 实现将数组里面的元素顺序颠倒过来( 数组反转), 并返回反转之后的数组。
var arr = [1, 2, 3, 4];
console.log(arr.reverse());
// 6. 用于合并两个数组, 并且合并之后的数组中没有重复的元素。
var arr = [1, 2, 43, 4, 45, 6, 7, 8, 9];
var arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9];
arr = arr.concat(arr1);
var arr2 = [];
for (var i = 0; i < arr.length; i++) {
if (arr2.includes(arr[i]) == false) {
arr2.push(arr[i]);
}
}
console.log(arr2);
// 7. 找到在第一个数组array1中出现, 而在第二个数组array2中没有出现的数字, 并组成新数组。
var arr1 = [2, 44, 8, 23, 13, 5];
var arr2 = [2, 64, 38, 73, 13, 5];
var arr3 = [];
for (var i = 0; i < arr1.length; i++) {
if (arr2.includes(arr1[i]) == false) {
arr3.push(arr1[i]);
}
}
console.log(arr3);
for (var i = 0; i < arr1.length; i++) {
for (var j = 0; j < arr2.length; j++) {
if (arr1[i] == arr2[j]) {
arr1.splice(i, 1);
}
}
}
// 8. 二维数组[1, 2, [3, 4, 5, 6]], 如何转换成一维数组 `[1,2,3,4,5,6]`
var arr1 = [
[0, 1],
[2, 3],
[4, 5]
];
for (var i = 0; i < arr1.length; i++) {
if (Array.isArray(arr1[i])) {
for (var j = 0; j < arr1[i].length; j++) {
arr1.splice(i, 0, arr1[i][j]);
i++;
}
}
}
for (var i = 0; i < arr1.length; i++) {
if (Array.isArray(arr1[i])) {
arr1.splice(i, 1);
}
}
console.log(arr1);
var arr = [1, 2, [3, 4, 5, 6]];
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
for (var j = 0; j < arr[i].length; j++) {
newArr.push(arr[i][j]);
}
} else {
newArr.push(arr[i]);
}
}
// 9. 实现一个方法, 输入任意字符串, 返回一个对象, 对象的key为字符串中每个字符出现的次数。
</script>
</body>
</html>