面试前查询内容 --(获取数组最大最小值,面试题(数组去重之类) )

0:51:27
我的电脑 2016/11/7 0:51:27

var a=[1,2,3,5];
alert(Math.max.apply(null, a));//最大值
alert(Math.min.apply(null, a));//最小值
多维数组可以这么修改:

var a=[1,2,3,[5,6],[1,4,8]];
var ta=a.join(",").split(",");//转化为一维数组
alert(Math.max.apply(null,ta));//最大值
alert(Math.min.apply(null,ta));//最小值

以下都是网上整理出来的JS面试题,答案仅供参考。

/2,截取字符串abcdefg的efg
//alert(‘abcdefg‘.substring(4));

//3,判断一个字符串中出现次数最多的字符,统计这个次数
/*var str = ‘asdfssaaasasasasaa‘;
var json = {};

for (var i = 0; i < str.length; i++) {
        if(!json[str.charAt(i)]){
                json[str.charAt(i)] = 1;
        }else{
                json[str.charAt(i)]++;
        }
};
var iMax = 0;
var iIndex = ‘‘;
for(var i in json){
        if(json[i]>iMax){
                iMax = json[i];
                iIndex = i;
        }
}
alert(‘出现次数最多的是:‘+iIndex+‘出现‘+iMax+‘次‘);*/

//4,IE与FF脚本兼容性问题
/*obj.addEventListener(sEv, fn, false);
obj.attachEvent(‘on‘+sEv,fn);
detachevet
removeEventListener
DOMContentLoaded
onreadystatechange  complete
DOMMouseScroll FF
onmousewheel   非FF
event.wheelDelta 上滚120 下-120
event.detail     上滚-3   下3  
obj.getCurrentStyle[attr]
getComputedStyle(obj,false)[attr]
XMLHttpRequest
ActiveXObject(‘Mircorsoft.XMLHttp‘)
FF本地能设置读取cookie 其他不行
event  ev
事件源
srcElement||target
toElement||relatedTarget
obj.setCapture();只有ie认
obj.releaseCapture();*/

//5,规避javascript多人开发函数重名问题
/*命名空间
封闭空间
js模块化mvc(数据层、表现层、控制层)
seajs
变量转换成对象的属性
对象化*/

//6,javascript面向对象中继承实现
/*function Person(name){
        this.name = name;
}

Person.prototype.showName = function(){
        alert(this.name);
}

function Worker(name, job){
        Person.apply(this,arguments)
        this.job = job;
}
for(var i in Person.prototype){
        Worker.prototype = Person.prototype;
}
new Worker(‘sl‘, ‘coders‘).showName();*/

//7,FF下面实现outerHTML
/*var oDiv = document.createElement(‘div‘);
var oDiv1 = document.getElementById(‘div1‘);
var oWarp = document.getElementById(‘warp‘);

oWarp.insertBefore(oDiv, oDiv1);
oDiv.appendChild(oDiv1);
var sOut = oDiv.innerHTML;
oWarp.insertBefore(oDiv1, oDiv);
oWarp.removeChild(oDiv);
alert(sOut);*/

//8,编写一个方法 求一个字符串的字节长度;
//假设一个中文占两个字节
/*var str = ‘22两是‘;

alert(getStrlen(str))

function getStrlen(str){
        var json = {len:0};
        var re = /[\u4e00-\u9fa5]/;
        for (var i = 0; i < str.length; i++) {
                if(re.test(str.charAt(i))){
                        json[‘len‘]++;
                }
        };
        return json[‘len‘]+str.length;
}*/

//9,编写一个方法 去掉一个数组的重复元素
/*var arr = [1,2,3,1,43,12,12,1];
var json = {};
var arr2 = [];
for (var i = 0; i < arr.length; i++) {
        if(!json[arr[i]]){
                json[arr[i]] = true;
        }else{
                json[arr[i]] = false;
        }

if(json[arr[i]]){
                arr2.push(arr[i]);
        }
};

for (var i = 0; i < arr.length; i++) {
        if(!aa(arr[i], arr2)){
                arr2.push(arr[i])
        }
};
function aa(obj, arr){
        for (var i = 0; i < arr.length; i++) {
                if(arr[i] == obj) return true;
                else return false;
        };
}
alert(arr2)*/

//10,写出3个使用this的典型应用
/*
事件: 如onclick  this->发生事件的对象
构造函数          this->new 出来的object
call/apply        改变this*/

//11、如何深度克隆
/*var arr = [1,2,43];
var json = {a:6,b:4,c:[1,2,3]};
var str = ‘sdfsdf‘;

var json2 = clone(json);

alert(json[‘c‘])
function clone(obj){
        var oNew = new obj.constructor(obj.valueOf());
        if(obj.constructor == Object){
                for(var i in obj){
                        oNew[i] = obj[i];
                        if(typeof(oNew[i]) == ‘object‘){
                                clone(oNew[i]);
                        }
                }
        }
        return oNew;
}*/

//12,JavaScript中如何检测一个变量是一个String类型?请写出函数实现
// typeof(obj) == ‘string‘
// obj.constructor == String;

//13,网页中实现一个计算当年还剩多少时间的倒数计时程序,要求网页上实时动态显示“××年还剩××天××时××分××秒”
/*var oDate = new Date();
var oYear = oDate.getFullYear();

var oNewDate = new Date();
oNewDate.setFullYear(oYear, 11, 31, 23, 59, 59);
var iTime = oNewDate.getTime()-oDate.getTime();

var iS = iTime/1000;
var iM = oNewDate.getMonth()-oDate.getMonth();
var iDate =iS*/

//2.你能描述一下你制作一个网页的工作流程吗?

//3.你能描述一下渐进增强和优雅降级之间的不同吗?

//4. 请解释一下什么是语义化的HTML。
//内容使用特定标签,通过标签就能大概了解整体页面的布局分布

//6. 你如何对网站的文件和资源进行优化?

//7. 为什么利用多个域名来存储网站资源会更有效?
//确保用户在不同地区能用最快的速度打开网站,其中某个域名崩溃用户也能通过其他郁闷访问网站

//8.请说出三种减低页面加载时间的方法
/*1、压缩css、js文件
2、合并js、css文件,减少http请求
3、外部js、css文件放在最底下
4、减少dom操作,尽可能用变量替代不必要的dom操作*/

//9.什么是FOUC?你如何来避免FOUC?
/*由于css引入使用了@import 或者存在多个style标签以及css文件在页面底部引入使得css文件加载在html之后导致页面闪烁、花屏
用link加载css文件,放在head标签里面*/

//10.文档类型的作用是什么?你知道多少种文档类型?
/*影响浏览器对html代码的编译渲染
html2.0
xHtml
html5*/

//11.浏览器标准模式和怪异模式之间的区别是什么?
//盒模型解释不同

//1.* 你使用过那些Javascript库?
//jquery seajs yui

//2.哈希表
//具有散列(映射)特性的数据模型

//3.闭包
//子函数能被外部调用到,则该作用连上的所有变量都会被保存下来。

//4.请解释什么是Javascript的模块模式,并举出实用实例。
/*js模块化mvc(数据层、表现层、控制层)
seajs
命名空间*/

//5.你如何组织自己的代码?是使用模块模式,还是使用经典继承的方法?
/*对内:模块模式
对外:继承*/

//9* 你如何优化自己的代码?
/*代码重用
避免全局变量(命名空间,封闭空间,模块化mvc..)
拆分函数避免函数过于臃肿
注释
*/

//10.你能解释一下JavaScript中的继承是如何工作的吗?
/*子构造函数中执行父构造函数,并用call\apply改变this
克隆父构造函数原型上的方法*/

//11.useraget.nav

//12.请尽可能详尽的解释AJAX的工作原理。
/*创建ajax对象(XMLHttpRequest/ActiveXObject(Microsoft.XMLHttp))
判断数据传输方式(GET/POST)
打开链接 open()
发送 send()
当ajax对象完成第四步(onreadystatechange)数据接收完成,判断http响应状态(status)200-300之间或者304(缓存)执行回调函数*/

js中如何取得数组中相同元素的下标

light264 | 浏览 5356 次  2012-06-25 11:30

2015-06-11 10:13

最佳答案


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

function searchKeys(needle, haystack)

{

    var result = [];

    for (i in haystack)

{

if (haystack[i] == needle)

{

    result.push(i);

}

}

    return result;

}

var array = [1,2,1,3,1,4,1,5,1,1];

var val = 1;

var result = searchKeys(val, array);

alert(result);

这里写了一个方法,第一个参数是所要求果的值,第二个参数是对应的数组,函数返回的结果就是在这个数组中有相同元素的坐标。

上面是已知元素进行查找,下面这个是对数组所有元素进行查找


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

var arr = [‘1‘‘2‘‘3‘‘4‘‘5‘‘6‘‘6‘‘7‘‘8‘‘1‘‘1‘‘1‘];

var list = [];

for (var i = 0; i < arr.length; i++)

{

var hasRead = false;

for (var k = 0; k < list.length; k++)

{

if (i == list[k])

{

hasRead = true;

}

}

if (hasRead) { break;}

var _index = i, haveSame = false;

for (var j = i + 1; j < arr.length; j++)

{

if (arr[i] ==arr[j])

{

list.push(j);

_index += "," + j;

haveSame = true;

}

}

if (haveSame)

{

alert("数组中值为"+arr[i]+"相同元素的下标为"+_index);

}

}

这个是对所有的数组元素遍历,查出所有的相同的元素以及下标

时间: 2024-08-28 21:07:01

面试前查询内容 --(获取数组最大最小值,面试题(数组去重之类) )的相关文章

Java 实例 – 数组获取最大和最小值

package array; import java.util.Arrays; import java.util.Collections; public class getMinAndMax { public static void main(String[] args) { /** * 获取数组中的最大值和最小值 */ Integer[] number = { 21, 43, 21, 32, 1, 2, 4, -1, 93, 5467, 38 }; System.out.println(Arr

数组中获取最大值和最小值

/* * 数组获取最大值,最小值 */ public class ArrayTest2 { public static void main(String[] args) { //定义1个数组 int[] arr= {12,13,34,55,100}; //定义参照物 int max=arr[0]; int min=arr[0]; //遍历数组 从索引1开始遍历 for(int x=1;x<arr.length;x++) { if(max<arr[x]) { max=arr[x]; } } Sy

面试前必看:Redis 和?Memcached 的区别

面试前必看:Redis 和 Memcached 的区别 2016-07-07 程序员的那些事 (点击上方公众号,可快速关注) 来源:标点符 链接:http://www.biaodianfu.com/redis-vs-memcached.html 主页君注:这篇文章前几天在「数据库开发」推荐后,有位童鞋评价非常高:「写的很不错,面试前必看」. Redis 的作者 Salvatore Sanfilippo 曾经对这两种基于内存的数据存储系统进行过比较: Redis支持服务器端的数据操作:Redis相

Java 程序员 面试前必备知识

前言 正文 自我介绍 数据结构和算法 Java篇 Java EE知识点储备 计算机网络 操作系统 数据库相关 XML 常识性知识 总结 前言 准备了接近两个月的面试笔试,现在终于是可以休息下了.真真是应了那句老话"台上一分钟, 台下十年功.". 人嘛,越努力,才会越幸运.机会总是留给有准备的人的. 下面分享一下我的Java实习生准备所看过的材料,(虽然至今还有些依然看不懂地方.) 希望对这方面的同学有点帮助. 正文 自我介绍 先针对自己的情况写段自我介绍,真实一些就好了,这方面我倒是没

扫清 Android 面试障碍--面试前的准备及必刷面试题

又准备要去面试了吗? 来来来,给你点干货建议. 磨刀不误砍柴工, 面试的时间一般只有几个小时不到,所以做好充分准备会极大提高你的成功率.面试的要点分: 面试前的准备和面试中的注意事项,接下来先来说说面试前的准备. 面试前准备 毋庸置疑,求职者在面试之前必须做好充足的准备,我认为有以下几点是重中之重: 完善简历,以及对简历内容做充分准备 可以说简历内容不在于多而在于精,尽量让每个字都有信息量,而且千万要中肯,比如说对于三年以内工作经验的,还是不要用「精通」这两个字了,会让面试官觉得你很浮夸. 坦率

金三银四Java面试前的准备。

感谢您参加我们的面试: 以下是我们总结一些面试前准备和技术参考题,希望对你有所帮助. 首先,你需要先准备下工作相关的自我介绍,包括以下内容: 1.几年Java开发经验,大概概括下做过什么类型的项目,分别多久经验(如互联网金融,互联网电商,传统后台等) 2.选择1-2个近期关键项目具体介绍: ?主要担任什么岗位,工作内容是什么,也可以简单介绍下团队人员组成,你在其中是属于什么角色(如架构搭建,核心代码编写,主要做接口开发等...) ?项目的技术是什么(请具体到开发环境,框架,开发工具,数据库等),

Java面试前需要了解的东西

一.前言 只有光头才能变强 回顾前面: 广州三本找Java实习经历 上一篇写了自己面试的经历和一些在面试的时候遇到的题目(笔试题和面试题). 我在面试前针对Java基础也花了不少的时间,期间也将自己写过的博文粗略地刷了一遍,同时也在网上找了不少比较好的资料(部分是没看完的).在这里给大家分享一下~~~ 这是我刷完自己写过的笔记写的一篇文章导航,针对于PC端的:https://zhongfucheng.bitcron.com/post/shou-ji/pcduan-wen-zhang-dao-ha

PHP面试常考内容之Memcache和Redis(1)

你好,是我琉忆.继上周(2019.2-11至2-15)发布的"PHP面试常考内容之面向对象"专题后,发布的第二个专题,感谢你的阅读.本周(2019.2-18至2-22)的文章内容点为以下几点,更新时间为每周一三五,可以关注本栏持续关注,感谢你的支持. 一.什么是Memcache?二.Memcache有什么特征?三.Memcache的内存管理机制是什么样的?四.Memcache和Memcached有什么区别?五.如何操作Memcache?六.如何使用Memcache做Session共享?

将Sql查询语句获取的数据插入到List列表里面

Sql查询语句获取的数据是分格式的,我们还用SqlDataReader来做,然后用IDataReader来接收读取,以下是代码: //我想查询一个用户表的信息,该用户有姓名,密码,信息三列 //1.定义一个用户类型的List数组,userInfo类的代码在下方 List<userInfo> userInfo = new List<userInfo>(); //2.我们要读取查询语句的数据,并且保存了.这里我们将使用IDataReader语句 //数据库类的实例,类的代码在下方 DB