JavaScript 数组(二)

数组元素的添加、删除、截取、合并、拷贝

1.将一个或多个新元素添加到数组结尾

			var array = [1,2,3];
			//再数组的尾部添加 追加
			var res = array.push(5);
			console.log(res);//追加后返回数组的长度
            console.log(array);

2.将一个或多个新元素添加到数组头部

			var array = [1,2,3];
			// 再数组的头部添加
			res = array.unshift(0);
			console.log(res);//返回数组的长度
			console.log(array);

3.删除数组第一位数据

			var array = [1,2,3];
			//删除数组第一位数据 
			res = array.shift();
			console.log(res);//返回被删除的第一位值
			console.log(array);

 4.删除数组的最后一位

			var array = [1,2,3];
            //删除数组的最后一位
			res = array.pop();
			console.log(res);//返回被删除的最后一位值
			console.log(array);
			

 5.删除指定位数的元素

        //插入元素到数组指定的位置
        //第一个参数  从哪里开始
        //第二个参数  删除元素的个数
        //第三个参数  插入的新元素
        //1.只写一个参数 会从指定开始的位置开始删除直到数组的末尾  以数组的形式返回删除的元素
        //2.写两个参数  会从指定的位置 删除指定个数的元素 并以数组的形式返回
        //3.写三个参数  从指定位置开始 删除指定的元素,并将新元素从指定开始的位置添加   返回删除的元素
        var array = [1,2,3,4]
		res = array.splice(1,2,10);
		console.log(res);//返回的结果是 被删除的元素
		console.log(array);

6.数组的截取 

           //数组的截取 不影响原数组
			var array = [1,2,3];
			res = array.slice(2,3);//2是截取起始位置 3是结束位置 但是3号位置不包括再内
			 console.log(res);
			console.log(array);

 

数组的排序和翻转

反转元素(最前的排到最后、最后的排到最前),返回数组地址 arrayObj.reverse();

var array4 = [10,11,13,14]
array4.reverse();
console.log(array4)

 对数组元素排序,返回数组地址 arrayObj.sort();

        var array4 = [10,11,13,14,100,21]
        console.log(array4)
        array4.sort()
        console.log(array4)

 sort()默认的排列方式是按照字符的unicode码进行排列的,在排列数值的时候会出现问题,因此需要依赖一个比值函数function(a,b){return a-b}

        var array4 = [10,11,13,14,100,21]
        console.log(array4)
        array4.sort(function(a,b){return a-b})
        console.log(array4)

 编写代码实现数组的排序

var array = [10,2,16,30,8]
console.log(array)
//冒泡排序法
for (let i = 0; i <array.length-1 ; i++) {
    for (let j = 0; j <array.length-i-1 ; j++){
        if(array[j]>array[j+1]){
            var temp = array[j]
            array[j] = array[j+1]
            array[j+1] = temp
        }
    }
}

//选择排序
for (var i = 0; i < array.length-1; i++) {
    var index = i;
    for (var j = i+1; j < array.length ; j++) {
        if(array[index]>array[j]){
            index = j;
        }
    }
    if(index!=i){
        var temp = array[i];
        array[i] = array[index];
        array[index] = temp;

    }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值