JavaScript push() 方式详解

访客4年前黑客文章1212

push界说和用法

push() 方式主要用于向数组的末尾添加一个或多个米素,其返回值为添加后新的长度,即push后的数组长度,该值为number类型。

注重:

1.一定是在数组的末尾添加
2.该方式会改变原数组的长度
3.若是需要在数组起始位置添加米素请使用 unshift() 方式


push函数语法

str.push(newele1,newele2,....,neweleX)

参数值说明:

newele1 必须。要添加到数组的之一个米素。
newele2 可选。要添加到数组的第二个米素。
neweleX 可选。可添加多个米素。



说明

push() 方式是把它的参数按顺序举行添加到原数组的尾部,它直接修改了原数组的长度,并不会建立一个新的数组;行使push实现数组进栈功效,出栈可以使用pop方式。


实例

1.一个数组中添加新米素 :

var arr=['红','橙','黄'];
var result=arr.push('绿','蓝');
console.log(arr);//输出arr数组内容:["红", "橙", "黄", "绿", "蓝"]
console.log(result);//输出push返回的效果:5
console.log(typeof result);//效果类型:number


2.小技巧,把一个数组的值赋值到另一个数组上:

var arr1=['红','橙','黄'];
var arr2=[];
arr2.push(...arr1);//这样arr1中的值就赋值给了arr2上了
console.log(arr2);//输出:["红", "橙", "黄"]

备注:这里使用了es6的扩展运算符(...),它主要是将一个数组转为用逗号分开的参数序列。console.log(...[ '红','橙','黄'  ])等价于:console.log('红','橙','黄'  )


3.高级知识,在工具中使用push

a:在工具中需要添加push的属性,其值为数组原型链的push方式,如下:

var obj = {
   name:'fly63',   
   push:Array.prototype.push
};
obj.push('测试');
console.log(obj[0]);//输出:测试
console.log(obj);//输出:{0: "测试", name: "fly63", length: 1, push: ƒ}
console.log(obj.length);//输出:1,工具默认是没有length属性的,这里使用了push方式,则会建立一个length属性

备注:这里push进去的值默以为之一个,这是由于push是凭据 length 属性来决议从那里更先插入给定的值,上述例子中并未声明length属性,则会建立length属性。验证一下:

var obj = {
   name:'fly63',  
   length:2,//'2'也可以,只有length能被转换为数值即可
   push:Array.prototype.push
};
obj.push('测试');
console.log(obj[2]);//输出:测试
console.log(obj);//输出:{2: "测试", name: "fly63", length: 3, push: ƒ}

由此可见:push会凭据工具length属性的值去确定插入的位置,当length不存在,或者不能被转为一个数值的时刻,则插入的米素索引默以为 0


b.行使call() 或 apply() ,如下:

var obj = {
   name:'fly63', 
};
Array.prototype.push.call(obj,'测试');
//或者Array.prototype.push.apply(obj,['测试']);
console.log(obj[0]);//测试

call和apply的不懂的请点这个链接。[地址:http://www.fly63.com/article/detial/450]


完结~~~~~~~~

思源资源网:分类流动

1.阿里云: 本站现在使用的是阿里云主机,平安/可靠/稳固。点击领取2000米代金券、领会最新阿里云产物的种种优惠流动点击进入

返回列表

上一篇:RemoveBG

下一篇:progress.js

相关文章

XP系统因不当操作导致无法自动关机怎么办?

WinXP系统因不当操作导致无法自动关机怎么办?一些系WinXP系统用户经常会因为一些不当的操作,导致电脑无法自动关机,这个问题困扰着WinXP系统这类用户很久了。面对这样的情况,我们该怎么办呢...

如何把视频旋转?教你如何把拍反了的视频旋转过来

如何把视频旋转?教你如何把拍反了的视频旋转过来

相信大家都有试过这样的经历,就是突然看到个有趣的东西,立马拿出手机,打开相机,找好角度,按下录像键,然后把这个有趣的东西拍了下来。但是当你打开相册,准备把这段视频发到朋友圈或者发给朋友分享时,才发...

中考考试找黑客改成就(黑客改成就改后付款)

若是是根据网站渗透改在网上自我私人的学习材料得话是不可以的,被查出是需付法律依据的!若是是改自我私人照片上的字是能够的,但仍旧更改不上在网上数据信息的。平常好好地。 小孩,遭遇客观事实吧,此次没有考好...

都匀明前茶叶报价查询(舍得红盒茶叶多少钱一公斤)

曲藏都匀明前茶叶价格表批发价查询 都匀明前茶叶140斤   7226元/斤   都匀明前茶叶71盒   3591元/包   都匀明前茶叶12克   7756元/瓶   都匀明前茶叶309斤  ...

网页被篡改怎么修复?一招轻松解决

网页被篡改怎么修复?一招轻松解决

有网友表示,不知道安装了什么软件,之后就发现浏览器主页被篡改了,而且设置不回来,这时该怎么办呢?今天我就教大家一招,轻松解决这个问题。 1、首先,右击浏览器图标,打开【属性】; 2、找到“...

深圳到2025年将新建永瑆基础教育学位近百万座

  中新网深圳12月3日电 (郑小红 朱族英)深圳市副市长聂新平在3日举办的新闻发布会上称,深圳到2025年将新建基础教育学位近百万座。其中,新增公办义务教育学位74万座;新增幼儿园学位14.5万座;...