js中数组删除 splice和delete的区别,以及delete的使用
var test=[];
test[1]={name:'1',age:1};
test[2]={name:'2',age:2};
test[4]={name:'3',age:3};
console.log(test)
长度为5的关联数组,现在开始删除。
1.splice方法
test.splice(2,1);
console.log(test)// 打印结果如下
数组长度相应改变,但是原来的数组索引也相应改变,splice参数中第一个2,是删除的起始索引(从0算起),在此是数组第二个元素。第二个1,是删除元素的个数,在此只删除一个元素,即test[2];
此时遍历数组元素可以用普通遍历数组的方式,比如for,因为删除的元素在数组中并不保留。
2.delete方法
delete test[2];
console.log(test);// 打印结果如下
这种方式数组长度不变,此时test[2]变为undefined了,好处是原来数组的索引也保持不变,此时要遍历数组元素可以才用.这种遍历方式跳过其中undefined的元素,所以非常实用。
1.对象属性删除
function fun(){
this.name = 'mm';
}
var obj = new fun();
console.log(obj.name);//mm
delete obj.name;
console.log(obj.name); //undefined
2.变量删除
var name = 'lily';
delete name;
console.log(name); //lily
直接用delete删除不了变量
3.删除不了原型链中的变量
fun.prototype.age = 18;
delete obj.age;
console.log(obj.age) //18
最新文章
- Linux 安装node.js ---- 源码编译的方式
- Codeforces #380 div2 B(729B) Spotlights
- xdotool模拟击键和鼠标移动
- struts2-(1)使用Filter作为控制器
- ecshop后台admin路径怎么修改
- fedora 20 yum出错
- poco异步等待ActiveResult
- ckeditor_4.5.10_full上传图片功能
- Windows 8.1 with update 官方最新镜像汇总(全)
- hdu 4908 BestCoder Sequence
- PHP ServerPush (推送) 技术
- loadrunner controller:设置多个load generator
- JSP----获取表单参数
- 如何利用GitHub设计一个炫酷的个人网站(含代码)
- 查看mysql数据库体积
- Qt 编程指南 3 信号和槽沟通
- 弗洛伊德算法Floyed(求各顶点间最短路径):可打印最短路径
- hive表增量抽取到mysql(关系数据库)的通用程序(三)
- springboot-28-security(一)用户角色控制
- 初识thinkphp(2)
热门文章
- UVaLive 6950 &;&; Gym 100299K Digraphs (DFS找环或者是找最长链)
- UVa 1611 Crane (构造+贪心)
- Android Layout XML属性研究--android:layout_marginBottom (转载)
- RxJava入门之路(二)
- Tomcat调整JVM大小,启动闪退
- POJ1861 kruskal.
- 3.bool布尔值int,str的转化,字符串的常用方法,字符串format,is判断(字符串的数字),for循环
- 查看软件安装的位置 Ubuntu
- 我人生中的第一场Java面试
- python之yaml模块和ddt模块