js数组操作的一些方法在面试题的使用
来源:互联网 发布:skew symmetric 矩阵 编辑:程序博客网 时间:2024/05/18 09:14
(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 1 var 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()方法,先一步判断
阅读全文
0 0
- js数组操作的一些方法在面试题的使用
- js数组一些方法的使用
- Html和JS的一些面试题
- js常用的一些面试题。
- 关于js数组的一些机试题
- js 面试题之---数组、字符串操作
- js+node.js方面的一些面试题
- js操作数组的方法
- js 操作数组的方法
- JS操作数组的方法
- 用python实现一些数组的面试题
- JS 数组的一些扩展操作
- js-对象与数组的一些操作
- JS的一些面试题(自己试答案)
- 上两道js面试题,关于数组字符串 之间的转化
- JS数组的一些常用方法
- 在网上找的一些java面试题,特经典
- 在面试准备中总结的一些面试题
- 【POJ
- ViewPager+Fragment出现android.os.TransactionTooLargeException的坑!!!
- 45.Oracle杂记——Oracle常用动态视图v$system_event
- POJ 3415 Common Substrings
- Educational Codeforces Round 31
- js数组操作的一些方法在面试题的使用
- 回文质数
- Spring MVC 导出EXCEL
- 安装beautifulsoup4趟坑,安装好了还是报错
- 数据库事务和隔离级别
- 51Nod-1029-大数除法-【思维】
- 使用 scala 实现单机版 WordCount
- 46.Oracle杂记——Oracle常用动态视图v$session_event
- bzoj2084 [Poi2010]Antisymmetry