在开发中,我们经常需要判断某个对象是否为数组类型1.typeof 操作符.对于Function, String, Number ,Undefined 等几种类型的对象来说,完全可以胜任,但是为Array时 var arr=new Array("1","2","3","4","5"); alert(typeof(arr));你会收到一个object 的答案,有点让人失望 . 2.instanceof 操作符,JavaScript中instanceof运算符会返回一个 Boolean 值,指出对象是否是特定类的一个实例。 使用方法:result = object instanceof...
在JS中要判断一个值是否在数组中并没有函数直接使用,如PHP中就有in_array()这个函数。但我们可以写一个类似in_array()函数来判断是一个值否在函数中例1/* * * 判断在数组中是否含有给定的一个变量值 * 参数: * needle:需要查询的值 * haystack:被查询的数组 * 在haystack中查询needle是否存在,如果找到返回true,否则返回false。 * 此函数只能对字符和数字有效 * */ function findnum(){ var a=[1,2];//假设a是数组...
shift :删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefinedvar a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1unshift :将参数添加到原数组开头,并返回数组的长度var a = [1,2,3,4,5]; var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7注:在IE6.0下测试返回值总为 undefined,FF2.0下测试返回值为7,所以这个方法的返回值不可靠,需要用返回值时可用splice代替本方法来使用。本文来自www...
POP 删除最后一项删除最后一项,并返回删除元素的值;如果数组为空则返回undefinevar a = [1,2,3,4,5]; a.pop();//a:[1, 2, 3, 4] a.pop();//a:[1, 2, 3] a.pop();//a:[1, 2]shift 删除第一项删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefinevar a = [1,2,3,4,5]; a.shift(); //a:[2,3,4,5] a.shift(); //a:[3, 4, 5]push 增加到最后并返回新数组长度;var a = [1,2,3,4,5]; a.push(6);//[1, 2, 3, 4, 5, ...
在JS中要判断一个值是否在数组中并没有函数直接使用,如PHP中就有in_array()这个函数。但我们可以写一个类似in_array()函数来判断是一个值否在函数中。/*** JS判断一个值是否存在数组中*/// 定义一个判断函数 var in_array = function(arr){// 判断参数是不是数组var isArr = arr && console.log(typeof arr===object ? arr.constructor===Array ? arr.length ? arr.length===1 ? arr[0]:arr.join(,):an empty array: arr.construc...
如何声明数组s中数组的声明可以有几种方式声明var tmp = []; // 简写模式 var tmp = new Array(); // 直接new一个 var tmp = Array(); // 或者new也可以在new数组的时候可以传入一个参数,表示数组的初始化长度// new的时候传入一个参数表示初始化数组长度 var tmp = new Array(3); alert(tmp.length); // 3但如果你想创建一个只有一个元素3的数组,那么使用 new 方法是不能实现的,因为系统会把你传入的3当作数组的长度,除非你...
join()把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。例如: <script type="text/javascript">var arr = [item 1, item 2, item 3];var list = <ul><li> + arr.join(</li><li>) + </li></ul>;</script>list结果:<ul><li>item 1</li><li>item 2</li><li>item 3</li></ul>这是迄今为止最快的方法!使用原生代码(如 join()),不管系统内部做了什么,通常比非原生快很多。——James Padolsey, james.padolsey.com...
我们看看各大类库的处理: //jQuery的makeArray var makeArray = function( array ) { var ret = []; if( array != null ){ var i = array.length; // The window, strings (and functions) also have length if( i == null || typeof array === "string" || jQuery.isFunction(array) || array.setInterval ) ret[0] = array; else while( i ) ret[--i] = array[i]; } return ret; }jQuery对象是用来储存与处理dom元...
sort() 方法用于对数组的元素进行排序。语法如下:arrayObject.sort(sortby)返回值为对数组的引用。请注意,数组在原数组上进行排序,不生成副本。如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个...
slice() 方法可从已有的数组中返回选定的元素。语法arrayObject.slice(start,end)参数描述start必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。end可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开...
认识数组数组就是某类数据的集合,数据类型可以是整型、字符串、甚至是对象。Javascript不支持多维数组,但是因为数组里面可以包含对象(数组也是一个对象),所以数组可以通过相互嵌套实现类似多维数组的功能。定义数组声明有10个元素的数组:var a = new Array(10);此时为a已经开辟了内存空间,包含10个元素,用数组名称加 [下标] 来调用,例如 a[2] 但此时元素并未初始化,调用将返回 undefined。以下代码定义了个可变数组,并进...
数组常用函数concat在现有数组后面追加数组,并返回新数组,不影响现有数组:var a = [123]; var b = "sunnycat"; var c = ["www",21,"ido"]; var d = {x:3.14, y:"SK"}; var e = [1,2,3,4,[5,6,[7,8]]]; alert(a.concat(b)); // -> 123,sunnycat alert(a); // -> 123 alert(b.concat(c, d)); // -> sunnycatwww,21,ido[object Object] alert(c.concat(b)); // -> www,21,ido,sunnycat alert(e.concat(11,...
在写程序过程中,经常会遇到去除数组中重复元素的需求。我们可以用一个两重循环来实现,对于小的数组。 但如果我们的数组比较大,里面的元素有上万个。那么用两重循环,效率是极为低下。 下面我们就用js的特性,编写一个高效去除数组重复元素的方法。 <script> function unique(data){ data = data || []; var a = {}; for (var i=0; i<data.length; i++) { var v = data[i]; if (typeof(a[v]) == undefined){ a[v] = 1; }...
javascript数组对象的3个属性1、length 属性 Length属性表示数组的长度,即其中元素的个数。因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1。和其他大多数语言不同的是,JavaScript数组的length属性是可变的,这一点需要特别注意。当length属性被设置得更大时,整个数组的状态事实上不会发生变化,仅仅是length属性变大;当length属性被设置得比原来小时,则原先数组中索引大于或等于length的元素的值全部...
1.遍历数组法最简单的去重方法,实现思路:新建一新数组,遍历传入数组,值不在新数组就加入该新数组中;注意点:判断值是否在数组的方法“indexOf”是ECMAScript5 方法,IE8以下不支持,需多写一些兼容低版本浏览器代码,源码如下:// 最简单数组去重法 function unique1(array){ var n = []; //一个新的临时数组 //遍历当前数组 for(var i = 0; i < array.length; i++){ //如果当前数组的第i已经保存进了临时数组,那么跳过...