此文内容多为 JavaScript 对数组理解及运用。

  1、如何消除一个数组里面重复的元素?

    var arr = [1, 2, 3, 3, 4, 4, 5, 5, 6, 1];
var newArr =[];
for(var i =0; i<arr.length; i++){
if(newArr.indexOf(arr[i])<0){
newArr.push(arr[i]);
}
}
console.log(newArr);

  2、es6 利用 set 数组去重方法

    changeReArr=(arr)=>{
// 利用set将数组转化成set数据,利用Array from 将set数据转化成数组
return Array.from(new Set(arr));
}
console.log(changeReArr([3,3,45,6,7,8,9,5,4]));

  3、es6 set 第二种方法

    changeReArr2=(arr)=>{
// 利用...扩展运算付将set中的值遍历出来重新定义一个数组
// ... 是利用for...of 遍历的
return [...new Set(arr)]
}
console.log(changeReArr2([3,3,45,6,7,8,9,5,4]));

  4、实现数组的随机排序

    // 方法一
var arr = [1,2,3,4,5,6,7,8,9,10];
function randSort1(arr){
for(var i = 0,len = arr.length;i < len; i++ ){
var rand = parseInt(Math.random()*len);
var temp = arr[rand];
arr[rand] = arr[i];
arr[i] = temp;
}
return arr;
}
console.log(randSort1(arr)); // 方法二
var arr = [1,2,3,4,5,6,7,8,9,10];
function randSort2(arr){
var mixedArray = [];
while(arr.length > 0){
var randomIndex = parseInt(Math.random()*arr.length);
mixedArray.push(arr[randomIndex]);
arr.splice(randomIndex, 1);
}
return mixedArray;
}
console.log(randSort2(arr)); // 方法三
var arr = [1,2,3,4,5,6,7,8,9,10];
arr.sort(function(){
return Math.random() - 0.5;
})
console.log(arr);

  5、生成十个10到100的随机数 并添加到数组里 并排序

    var iArray = [];
function getRandom(istart,iend)
{
var ichoice = iend - istart;
return Math.floor(Math.random() * ichoice + istart);
} for(var i =0; i<10; i++){
var nums = getRandom(10,100);
if(iArray.indexOf(nums) < 0){
iArray.push(nums);
}else{
iArray.push(getRandom(10,100));
}
}
iArray.sort();
console.log(iArray);

  6、把两个数组合并,并删除第二个元素。

    var arr1 = ['a','b','q'];
var arr2 = ['w','e','r'];
var meshArr = arr1.concat(arr2);
meshArr.splice(1,1);
console.log(meshArr);

  7、提取URL中的各个GET参数

    var urlStr = "http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e";
function serilizeUrl(url)
{
var result = {};
url = url.split("?")[1];
var map = url.split("&");
for(var i = 0; i<map.length; i++){
result[map[i].split("=")[0]] = map[i].split("=")[1];
}
return result;
}
console.log(serilizeUrl(urlStr));

  8、输出今天的日期,以YYYY-MM-DD的方式,比如今天是2014年9月26日,则输出2014-09-26

    var date = new Date();
var dateYear = date.getFullYear();
var dateMonth = date.getMonth() + 1; dateMonth = dateMonth < 10 ? '0'+dateMonth : dateMonth; var dateDays = date.getDate(); dateDays = dateDays < 10 ? '0'+dateDays : dateDays; console.log(dateYear + '-' + dateMonth + '-' + dateDays);

JavaScript 常见面试题的更多相关文章

  1. 【javascript常见面试题】常见前端面试题及答案

    转自:http://www.cnblogs.com/syfwhu/p/4434132.html 前言 本文是在GitHub上看到一个大牛总结的前端常见面试题,很多问题问的都很好,很经典.很有代表性.上 ...

  2. 【持续更新】JavaScript常见面试题整理

    [重点提前说]这篇博客里的问题涉及到了了JS中常见的的基础知识点,也是面试中常见的一些问题,建议初入职场的园友Mark收藏,本文会持续更新~ 1. 引入JS的三种方式 1.在HTML标签中直接使用,直 ...

  3. javascript常见面试题

    闭包相关面试题:1. var a=0,b=0; function A(a){ A=function(b){console.log(a+b++);}; console.log(a); } A(1); A ...

  4. javascript常见面试题之一:数组的冒泡排序;

    var arr=[32,2,7,78,90,10]; //外层循环控制轮数: for (var i = 0; i < arr.length; i++) { //内层循环控制次数: for (va ...

  5. javascript常见面试题之一:将字符串'get-element-by-id'转换成驼峰命名法;

    var str='get-element-by-id'; function strToupper(str) { //利用split将字符串分割成数组var arr= str.split('-'); f ...

  6. 整理的最全 python常见面试题(基本必考)

    整理的最全 python常见面试题(基本必考) python 2018-05-17 作者 大蛇王 1.大数据的文件读取 ① 利用生成器generator ②迭代器进行迭代遍历:for line in ...

  7. 整理的最全 python常见面试题

      整理的最全 python常见面试题(基本必考)① ②③④⑤⑥⑦⑧⑨⑩ 1.大数据的文件读取: ① 利用生成器generator: ②迭代器进行迭代遍历:for line in file; 2.迭代 ...

  8. java常见面试题及答案 1-10(基础篇)

    java常见面试题及答案 1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程.Java 源文件被 ...

  9. Web开发的常见面试题HTML和HTML5等

    作为一名前端开发人员,HTML,HTML5以及网站优化都是必须掌握的技术,下面列举一下HTML, HTML5, 网站优化等常见的面试题: HTML常见面试题: 1. 什么是Semantic HTML( ...

随机推荐

  1. ngRoute 与ui.router区别

    angular路由 路由 (route) ,几乎所有的 MVC(VM) 框架都应该具有的特性,因为它是前端构建单页面应用 (SPA) 必不可少的组成部分. 那么,对于 angular 而言,它自然也有 ...

  2. D03——C语言基础学习PYTHON

    C语言基础学习PYTHON——基础学习D03 20180804内容纲要: 1 函数的基本概念 2 函数的参数 3 函数的全局变量与局部变量 4 函数的返回值 5 递归函数 6 高阶函数 7 匿名函数 ...

  3. MiniUi-----Spinner 数值调节器(可以实现任意值的递增)

    Spinner 数值调节器可以实现任意值的递增,每次的递增值主要是通过increment="递增值"属性来控制的. 属性 该属性扩展自验证框(validatebox),下面是为微调 ...

  4. php5数组与php7数组区别

    http://ju.outofmemory.cn/entry/197064 http://www.fzb.me/2015-9-16-php7-implementation-hashtable.html ...

  5. git常用的命令你知道有哪些?

    1.git与svn的区别 1,git是目前世界上最先进的分布式版本控制系统,他没有中央服务器,每个人的电脑就是一个完整的版本库,这样,工作的时候不需要联网 2,svn是集中式版本控制系统,版本库是集中 ...

  6. windows7下部署tomcat

    需要准备的软件: 1.JDK 安装程序 2.Tomcat 安装程序 JDK安装步骤: 安装方式:使用安装程序进行安装.使用JDK文件夹,免安装,以下步骤使用的是文件夹免安装,只需配置环境变量 配置环境 ...

  7. System.Thread.TImer控件——http://www.360doc.com/content/11/0812/11/1039473_139824496.shtml

    http://www.360doc.com/content/11/0812/11/1039473_139824496.shtml

  8. Window History对象

    History 对象属性 length 返回浏览器历史列表中的 URL 数量. History 对象方法 back() 加载 history 列表中的前一个 URL. window.history.b ...

  9. centos 7 keepalived故障邮件通知实战(附Python邮件发送脚本)

    centos 7 keepalived故障邮件通知实战(附Python邮件发送脚本) #####################     sendmail.py  begin     ######## ...

  10. java I/O系统总结

    1. InputStream : 从文件.网络.压缩包等中读取 需要的信息到程序中的变量 read();     read(byte []b ); mark(int readlimit); reset ...