var arr = [1, 2, 3];
// 运算将结果
var res = [1, 2, 3, 4, 5, 6];
<script>
var arr = [1, 2, 3];
var arr1 = arr.push(4, 5, 6)
// console.log(arr1);
console.log(arr);
</script>
```
```js
var arr = [1, 2, 3];
// 运算结果
var res = [4, 5, 6, 1, 2, 3];
<script>
var arr = [1, 2, 3];
var arr1 = arr.unshift(4, 5, 6)
// console.log(arr1);
console.log(arr);
</script>
```
```js
var arr = [1, 2, 3];
// 运算结果
var res = [2, 3];
<script>
var arr = [1, 2, 3];
var arr1 = arr.splice(0, 1)
// console.log(arr1);
console.log(arr);
</script>
```
```js
var arr = [1, 2, 3];
// 运算结果
var res = [1, 2];
<script>
var arr = [1, 2, 3];
var arr1 = arr.pop()
// console.log(arr1);
console.log(arr);
</script>
```
```js
let arr = [1, 2, 3];
// 运算结果
var res1 = [1, 3];
<script>
var arr = [1, 2, 3];
var arr1 = arr.splice(arr.indexOf(2), 1)
// console.log(arr1);
console.log(arr);
</script>
```
```js
let arr = [1, 2, 3];
// 运算结果
var res1 = [1];
<script>
var arr = [1, 2, 3];
var arr1 = arr.splice(0, 1)
console.log(arr1);
</script>
```
```js
let arr = [1, 2, 3];
// 运算结果
var res1 = [1, 5, 3];
<script>
var arr = [1, 2, 3];
var arr1 = arr.splice(arr.indexOf(2), 1, 5)
// console.log(arr1);
console.log(arr);
</script>
```
```js
var arr = [10, 20, 30];
// 1:找到是 10 的索引,写出查找过程
// 1:找到是 20 的索引
// 1:找到是 30 的索引
<script>
var arr = [10, 20, 30]
var arr1 = arr.findIndex(function (item) {
return item == 10
})
var arr2 = arr.findIndex(function (item) {
return item == 20
})
var arr3 = arr.findIndex(function (item) {
return item == 30
})
console.log(arr1, arr2, arr3);
</script>
```
```js
var res = [
{ id: "1", name: "车厘子", value: "NaN" },
{ id: "2", name: "苹果", value: "NaN" },
{ id: "3", name: "香蕉", value: undefined },
{ id: "4", name: "菠萝", value: "NaN" },
];
//要求: 找到name=苹果的对象
// 运算结果
res = { id: "2", name: "苹果", value: "NaN" };
<script>
var res = [
{ id: '1', name: '车厘子', value: 'NaN' },
{ id: '2', name: '苹果', value: 'NaN' },
{ id: '3', name: '香蕉', value: undefined },
{ id: '4', name: '菠萝', value: 'NaN' }
]
var arr1 = res.find(item => item.name == '苹果')
console.log(arr1);
</script>
```
```js
var arr = ["用户1", "用户2", "用户3"];
// 运算结果
var res = "用户1|用户2|用户3";
<script>
var arr = ['用户1', '用户2', '用户3'];
var arr1=arr.join( "|" )
console.log(arr1);
</script>
```
```js
var str = "用户1|用户2|用户3";
// 运算结果
var res = ["用户1", "用户2", "用户3"];
<script>
var str = '用户1|用户2|用户3';
var arr1=str.split('|')
console.log(arr1);
</script>
``
js去重、
<script>
var arr = [1, 2, 2, 4, 9, 6, 7, 5, 2, 3, 5, 6, 5];
function removeDuplicate(arr) {
const newArr = []
arr.forEach(item => {
if (newArr.indexOf(item) === -1) {
newArr.push(item)
}
})
return newArr // 返回一个新数组
}
const result = removeDuplicate(arr)
console.log(result)
</script>
<script>
var arr = [1,2,"2",4,9,"a","a",2,3,5,6,5];
function removeDuplicate(arr) {
const newArr = []
arr.forEach(item => {
if (newArr.indexOf(item) === -1) {
newArr.push(item)
}
})
return newArr // 返回一个新数组
}
const results = removeDuplicate(arr)
console.log(results)
</script>
js排序五种方法
<script> //sort
var arr = [23, 34, 3, 4, 23, 44, 333, 444];
arr.sort(function (a, b) {
return a - b
})
console.log(arr);
</script>
<script> //插入排序
function Insertion(arr) {
let len = arr.length;
let preIndex, current;
for (let i = 1; i < len; i++) { // 从第二个数开始循环
preIndex = i - 1; // 当前数的前一个index开始对比
current = arr[i]; // 当前需要插入的数据,用current空间参数存起来
while (preIndex >= 0 && current < arr[preIndex]) { // 进入二次循环,该循环用来对比排序完成的数与当前需要插入的数据
arr[preIndex + 1] = arr[preIndex]; // 因为当前值已经被抽出,它的序号比需要对比的数的最大序列大1,所以当满足条件,可以把preIndex + 1的序列的值赋值为 // preIndex
preIndex--; // 继续循环
}
arr[preIndex + 1] = current; // 外层完成一次循环后,把找到的当前小于current 的前一位数替换成插入元素
}
return arr;
}
var arr = [23, 34, 3, 4, 23, 44, 333, 444];
Insertion(arr)
console.log(arr);
</script>
<script> //选择排序
var arr = [23, 34, 3, 4, 23, 44, 333, 444];
for (let i = 0; i < arr.length - 1; i++) {
let minIndex = i; //用于存储最小值的下标,排序刚开始时,假设最小值的下标就是选中的基准数据下标
for (let j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
[arr[i], arr[minIndex]] = [arr[minIndex], arr[i]]
}
console.log(arr);
</script>
<script> //快速排序
var arr = [23, 34, 3, 4, 23, 44, 333, 444];
function quickFun(params) {
//当进行递归的数组的长度小于等于 1 的时候直接返回该数组
if (params.length <= 1) {
return params;
}
let middleIndex = Math.floor(params.length / 2); //获取基准数据的下标
let middleItem = params.splice(middleIndex, 1)[0]; //截取基准数据
let leftArr = [];
let rightArr = [];
for (let k = 0; k < params.length; k++) {
if (params[k] > middleItem) {
rightArr.push(params[k]);
} else {
leftArr.push(params[k]);
}
}
return quickFun(leftArr).concat(middleItem, quickFun(rightArr)); //将左边数组,基准数据和右边数组进行拼接成一个完整的数组
}
const quickAns = quickFun(arr);
console.log(quickAns);
</script>
<script>//冒泡排序
var arr = [23, 34, 3, 4, 23, 44, 333, 444];
for (let g = 0; g < arr.length - 1; g++) {
for (let h = 0; h < arr.length - 1; h++) {
if (arr[h] > arr[h + 1]) {
[arr[h], arr[h + 1]] = [arr[h + 1], arr[h]];
}
}
}
console.log(arr);
</script>