/**
* @function concat
* @notice concat 操作的参数是数组,那么添加的是数组中的元素,而不是数组
*/
let concat_demo1 =()=>{
let a =['js','css','html'];
let b =['c','c++'];
let d =['java','python'];// concat 可以同时合并多个数组 ,返回值是合并的数组
let c = a.concat(b, d);
c.concat('c#')
console.log(c)
b[0]=99;
console.log(b)
console.log(c)}
let concat_demo2 =()=>{
let tom =[{
name:'tom',
age:21}];
let mary =[{
name:'mary',
age:33},];
let c = tom.concat(mary);
console.log(c)// concat 操作结果是浅拷贝
tom[0].name ='tommy'
console.log(c)}
自行实现concat
// 手动实现concat
Array.prototype.concat1 = function (...args){const res =[]
args.forEach((item ,index, arr)=>{if(Array.isArray(item)){
res.push(...item)}else{
res.push(item)}})return[...this,...res]};
const list =[3,999,22,1,223,99,8,7,6,0];// 默认排序方法
list.sort(function (a, b){return a - b
})
数组排序2 - 选择排序
// 选择排序,每次选择最小的
function getMin(arr){const _index =0;const min = arr[0];
arr.forEach((item, index)=>{if(item < min){
min = item;
_index = index;}})return _index;}
function chooseSort(arr){
let res =[];while(arr.length){
res =[...res,...arr.splice(getMin(arr),1)]}return res;}
数组排序3 - 冒泡排序
// 冒泡排序 如果前一个比后边的大,交换位置
function bubbleSort(list){const{length}= list;for(let a =0; a < length -1; a++){for(let b =0; b < length -1-a; b++){if(list[b]> list[b +1]){const temp = list[b];
list[b]= list[b +1]
list[b +1]= temp;}}}}