(1)随机生成一个0-9 的20位数组a
(2)随机删除数组中的一位 b
(3)将数组顺序打乱生成新数组 c
(4)将a与c比较,找到被删除的一位

<script type="text/javascript">//(1)var  a = [];for (var i = 0 ; i < 20 ;i++){var m =Math.floor(Math.random()*10) ;a.push(m);}console.log("原始数组a:"+a);//生成新的数组对象,截取全部,否则改变数组,指向不变,原数组会改变;var newA = a.slice(0);console.log(newA);var index = Math.floor(Math.random()*10)+10;console.log("被删除的下标index:"+index);var removeOne = a.splice(index,1);console.log("删除的元素:"+removeOne);//(2)var b = a;console.log("随机删除一位后的数组b:"+b);//(3)这里利用sort排序特性-1 0 1var c = b.sort(function(){ return 0.5 - Math.random() })console.log(c);console.log("打乱顺序的数组c:"+c);// var str=c.join("");//数组转成字符串;//    console.log(str);// var arr = str.split("");//字符串转成数组;//    console.log(arr);//(4)这里写了个方法,很笨拙function array_delete(a,b) {  var obj1 = {};var obj2 = {};for(var i = 0 ; i< a.length; i ++){if(!obj1[a[i]]){obj1[a[i]] = 1;}else{obj1[a[i]] ++;}}for(var j = 0 ; j< b.length; j ++){if(!obj2[b[j]]){obj2[b[j]] = 1;}else{obj2[b[j]] ++;}}console.log(obj1);console.log(obj2);var s;for(var key in obj1){for(var key2 in obj2){if(obj2.hasOwnProperty(key)){if(key == key2){if(obj1[key] == obj2[key2]){}else{s = "被删除元素为:"+key;}}}else{s = "被删除元素为:"+key;}}}return s;  } var d = array_delete(newA,c);console.log(d);

这里边最后找不同,我的想法是通过键值得方式比较去找,也是题目所限,直接双循环找匹配,但发现一个问题,就是假如一个原数组与处理后的数组有一个元素也就是后来生成对象键不同的话,就无法匹配到了,所以采用了hasOwnProperty()方法,先一步判断

js数组操作的一些方法在面试题的使用相关推荐

  1. js的数组和对象的多种复制和清空, 以及区分JS数组和对象的方法

    js的数组和对象的多种"复制"和"清空", 以及区分JS数组和对象的方法 一.数组清空与复制方法 1.数组清空的方法 var a = [1,2,3]; a.le ...

  2. js数组删除指定数据方法

    js数组删除指定数据方法 第一种:如果数据是一个一个添加进入数组中的 可以用pop来进行删除最后一个(可以用在upload上传判断是否符合等) let arrList = []; let arr = ...

  3. js map 排序_数组方法写给女友的一系列 JS 数组操作(建议收藏 | 内附思维导图)...

    前言 最近和女友,咳咳...(说出来可能会被打s)学习JS数组方法,用几个字形容的话就是听说过,实际使用.遇到的时候就分不清具体方法会得到怎样的结果. 今天我将通过这篇文章好好整理一下关于JS数组的方 ...

  4. 「数组方法」写给女友的一系列 JS 数组操作(建议收藏 | 内附思维导图)

    前言 最近和女友,咳咳-(说出来可能会被打s)学习JS数组方法,用几个字形容的话就是听说过,实际使用.遇到的时候就分不清具体方法会得到怎样的结果. 今天我将通过这篇文章好好整理一下关于JS数组的方法, ...

  5. js数组操作各种方法

    JS数组方法汇总 shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2, ...

  6. js 数组操作的push pop shift unshift 等方法

    1.push()方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度. var arr = [1,2,3,4,5] arr.push(6)//添加一个元素 arr.push(7,8)//可以一次 ...

  7. es6 数组合并_13个不low的JS数组操作,你需要知道一下

    作者 | 火狼1来源 | https://juejin.im/post/5c92e385e51d450ce11df1d1 前言 本文主要从应用来讲数组api的一些骚操作:如一行代码扁平化n维数组.数组 ...

  8. JS数组操作之增删改查

    JS提供了很多方便操作数组的方法,本文所要分享的就是如何快速对数组进行增.删.改.查. 一.增 1.push() 可接收任意数量的参数,把它们逐个添加至数组末尾,并返回修改后数组的长度.例如: var ...

  9. js数组操作(push,pop,shift,unshift,slice,splice,concat,sort)

    js中针对数组操作的方法还是比较多的,今天突然想到来总结一下,也算是温故而知新吧.不过不会针对每个方法进行讲解,我只是选择其中的一些来讲. 首先来讲一下push和pop方法,这两个方法只会对数组从尾部 ...

最新文章

  1. 2013年6月和12月CISA考试报名,认证,CPE维持和备考要点
  2. 第一次训练赛的相关总结和教训!
  3. 面向对象程序设计——UML分析和本学期总结
  4. Oracle开启关闭归档日志
  5. linux 防火墙 ftp,RedHat6 建立基于防火墙和SELinux的虚拟用户vsFTP
  6. Python模块学习——tempfile
  7. tomcat安全认证
  8. python函数默认参数_Python中函数的默认参数问题
  9. 关于sqlmap无法打开的问题解决办法
  10. 51Nod-1087 1 10 100 1000【模拟】
  11. Linux 每日一练 :cat猫 的 反义词是啥 ? 是这个tac 哇哇哇!!
  12. MATLAB显示中文乱码问题 MATLAB2016
  13. 如何实现java编写告白程序,程序员如何实现表白代码
  14. 使用 Sun Jimi 进行图像格式转换
  15. PHP 微信公众号和html5接入微信支付
  16. JLink 警告:The connected J-Link is defective,Proper operation cannot be guaranteed.所遇到的坑
  17. python函数初体验
  18. 解压和压缩jar文件
  19. 深度强化学习系列(14): A3C算法原理及Tensorflow实现
  20. 夺宝网站服务器配置,3月27日服务器公告:夺宝小分队

热门文章

  1. 几种将将虚幻引擎内容流送到多个平台的推流方案比较
  2. 销售小姐姐再也不用担心写错合同编号了
  3. 【 newcoder 】幼儿园战争 【并查集+删并查】
  4. gradle 设备未就绪。解决方法
  5. 超全Redis命令总结(备忘)(建议赶紧收藏)
  6. 百度回应文心一言文生图功能争议
  7. 计算机设计大赛国赛演讲稿
  8. Opencv 基础(三):使用OpenCV裁剪图像
  9. 单片机c语言reti的用法,基于51单片机中断跳出指令“RETI”浅议
  10. stm32控制半导体制冷器实现饮水机保温制冷功能