你好javascript day8
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了你好javascript day8,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3854字,纯文字阅读大概需要6分钟。
内容图文
![你好javascript day8](/upload/InfoBanner/zyjiaocheng/632/a91be5aea07849079c1141a2bb3415c7.jpg)
1)数组的使用
数组实际上就是来源对象,脱胎于对象,继承于对象 在数组中所有的下标都会转换为number, 如果不能转换为number的(也就是转换后是NaN的),就会默认添加对象的属性名 数组的长度,仅记录下标的个数,不包含属性数量 数组不可以使用点语法获取下标变量,但是可以使用点语法取属性var arr=["d","e","f","a"]; // 通过这个数组的值创建一个对象,每个对象的属性名是这个数组的每个元素 // 对象的这个属性名对应的值,随机0-9 // 然后复制出一个新对象 var obj={}; for(var i=0;i<arr.length;i++){ obj[arr[i]]=parseInt(Math.random()*10); } var o={}; for(var prop in obj){ o[prop]=obj[prop]; } console.log(o[1]);//这里是找到了0-9的随机数 //Math.random()*10 随机取0-9的数 //parseInt 取整
var obj={ a:1, b:2, c:3, d:4 }; var e={}; for(var prop in obj){ e[prop]=obj[prop]; }; console.log(e[1]);//undefined 对象的所有属性名是无序的数组的循环是根据下标的数字从0开始循环到最大下标,有序 对象是循环所有属性名,无序 对象的属性遍历是根据对象属性名添加的顺序
//这样可以完成不遍历空元素 var arr=[2,4,6,,8,10]; for(var i=0;i<arr.length;i++){ if(!(i in arr))continue; console.log(arr[i]); }
———————————————————————————————————————————— for(var i=0;i<arr.length;i++){ if(i in arr)console.log(arr[i]); }
//对象的浅复制????????????var?obj={a:1,b:2,c:3}; ????????????var?o={}; ????????????for(var?prop?in?obj){ ????????????????o[prop]=obj[prop]; ????????????} ????????????//?这样o就会把obj都复制过来 ????????????//?对象赋值以后,所有内容都没有引用关系了 ????????????obj.a=100; ????????????console.log(o.a);//1 _____________________________________________ ????????????//?以上就是一个对象赋值形成一个新对象 ????????????//?要解决这类问题,就考虑到对象深复制 ? ? ? ? ? ? ?var?obj={ ????????????????a:1, ????????????????b:{ ????????????????????a:1, ????????????????????b:2 ????????????????} ????????????} ????????????var?o={}; ????????????//?这样只能复制解除最外层的引用关系,这种叫做浅复制 ????????????for(var?prop?in?obj){ ????????????????o[prop]=obj[prop]; ????????????} ????????????obj.a=10; ????????????obj.b.a=10; ????????????console.log(o.b.a); //10
2) push,pop,unshift,shift concat和join splice
push?在数组尾部添加一个或者多个元素,并且返回数组的新长度 pop??删除数组尾部的最后一个元素,并且将这个被删除的元素返回 unshift? 在数组头部添加一个或者多个元素,并且返回数组的新长度 shift? ?删除数组的第一个元素,并且返回被删除的元素 concat??数组的合并,合并后会返回一个新数组,原来的两个数组不会变化 join? ?将数组的每个元素以指定的字符连接形成新字符串返回 splice??这个方法可以从指定的位置删除给定数量的元素,并且在这个位置插入需要的元素并且返回被删除的元素组成的新数组 var???testArray=[1,2,3,4,5,6]; var???newArray=[2,2,2]; testArray.push(7) console.log(testArray); testArray.pop(); testArray.unshift(0); var?n=testArray.shift(); console.log(n);//0 var?m=testArray.concat(newArray);//将两个数组合并返回数组新长度 console.log(m); var?l=testArray.concat(); console.log(l);//直接使用concat()?可以完成数组的复制 var?s=testArray.join(); console.log(s);//直接使用join()??默认用?,把数组串联起来返回字符串 console.log(testArray.join("|"));//将数组的每个元素以指定的字符连接形成新字符串返回 console.log(newArray.slice(0,1,9),newArray);//9?2 //arr.splice(从什么位置开始,删除多少个元素,要插入的元素); console.log(testArray.slice(0)); //只有一个参数表示从什么位置开始,但是没有结束位置,意味着删除整个数组返回新的数组 console.log(testArray.slice(-2)); //从第几位开始可以是负数,从后向前数(倒数),因为没有给要删除的数量,因此删除到尾部// 去重 var arr=[1,2,3,4,1,2,3,2,1,1,3,7,7,2,1,6,1,2,4,5,1,2,3]; for(var i=0;i<arr.length;i++){ var item=arr[i]; for(var j=i+1;j<arr.length;j++){ if(item===arr[j]){ arr.splice(j,1); j--; } } } console.log(arr);
// 去重 var arr=[1,2,3,4,1,2,3,2,1,1,3,7,7,2,1,6,1,2,4,5,1,2,3]; var arr1=[]; for(var i=0;i<arr.length;i++){ var item=arr[i]; var bool=true; for(var j=0;j<arr1.length;j++){ if(arr1[j]===item){ bool=false; break; } } if(bool){ arr1.push(item); } }
内容总结
以上是互联网集市为您收集整理的你好javascript day8全部内容,希望文章能够帮你解决你好javascript day8所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】