在js中我们不能像php中那样直接要判断一个值或字符串在数组中利用in_array来实现,因为js没有in_array函数,但是我们可以自定来给js写一个in_array函数,下面我收集了几个。 例1 代码如下:function in_array(stringToSearch, arrayToSearch) { for (s = 0; s < arrayToSearch.length; s++) { thisEntry = arrayToSearch[s].toString(); if (thisEntry == stringToSearch) { return true; } } return false;} 例2 代码如下:var...
代码如下: function ClearNullArr(arr){ for(var i=0,len=arr.length;i<len;i++){ if(!arr[i]||arr[i]==||arr[i] === undefined){ arr.splice(i,1); len--; i--; } } return arr; }
while case速度最快 代码如下:function contains(arr, str) { var i = arr.length; while (i--) { if (arr[i] === str) { return true; } } return false;}
PHP的数组函数in_array()非常方便,可JS就不是了。其实我很不喜欢JS的数组~ 别说了,直接上方法 代码如下: Array.prototype.in_array = function(e) { for(i=0;i<this.length;i++) { if(this[i] == e) return true; } return false; } 或者 代码如下: Array.prototype.in_array = function(e) { for(i=0;i<this.length && this[i]!=e;i++); return !(i==this.length); } 这两个都是可以的。其实就是一个形式,写法不一样而已。...
业务是需要将前台jQuery easyUI DataGrid列表中所选的若干行的数据传到后台进行update操作 通常情况下我们会获取所选取行对象的ID,通过循环及简单封装拼凑成一个长String传送过去,并在Service层解释再通过findByID获取实例并update 但今次我们需要将整个对象群完整的传输至后台 其结构如下 选用谷歌的GSON插件及json2.js搭配使用 前台代码如下,简洁起见已去除部分简单验证代码: 代码如下: var rows = $(#dg1).datagrid(getS...
本文总结了Array数组的3个属性,length 属性、prototype 属性、constructor 属性使用,并附注数组对象的8个分类及多个方法使用,具体如下: 对象的3个属性1、length 属性 length 属性Length属性表示数组的长度,即其中元素的个数。因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1。和其他大多数不同的是,JavaScript数组的length属性是可变的,这一点需要特别注意。当length属性被设置得更大时,整个数组的状态...
栈方法:后进先出(last in first outside) 队列方法:先进先出(first in first outside) 具体应用如下: 代码如下: 栈方法 //栈是一种LIFO(last in first outside)后进先出的数据结构 function basicPushOrPop(){ var colors=["red","green","blue"]; var count=colors.push("pink");//push()方法可以接收任意数量的参数,并把它们逐个添加到数据的末尾,并返回修改后数组的长度 al...
代码如下: 重排序方法和操作方法 //排序方法 function basicSort(){ var values=[0,10,2,3,12,5]; alert(values.reverse());//reverse()方法只是把数组的顺序反过来 alert(values.sort());//sort()方法比较的是字符串,大多数情况不是最佳的方案 alert(values.sort(compare));//sort()方法可以接收一个比较函数作为参数 } //自定义比较函数,返回的数组是升序,也可...
直接看代码吧,测试结果也贴在里面了 代码如下:var arrDemo = new Array();arrDemo[0] = 10; arrDemo[1] = 50; arrDemo[2] = 51; arrDemo[3] = 100;arrDemo.sort(); //调用sort方法后,数组本身会被改变,即影响原数组alert(arrDemo);//10,100,50,51 默认情况下sort方法是按ascii字母顺序排序的,而非我们认为是按数字大小排序arrDemo.sort(function(a,b){return a>b?1:-1});//从小到大排序alert(arrDemo);//10,50,51,100arrDemo.s...
1:split 函数将字符串按某个字符分割,将分割后的结果存入字符串数组中 代码如下:function SplitUsersInformation(users) { var usersArray = users.split(;); return usersArray;}2:substr 函数切割目标字符串 代码如下:currentStr = currentStr .substr(0, currentStr.length - 2);3:push 方法向Array中添加一条记录 代码如下:var totalUsers = new Array();function PushItem(name, departmemt) { var currentUser ...
new Array() new Array(len) new Array([item0,[item1,[item2,...]]] 使用数组对象的方法: var objArray=new Array(); objArray.concact([item1[,item2[,....]]]-------------------将参数列表连接到objArray的后面形成一个新的数组并返回,原有数组不受影响。如:var arr=["a","b","c"]; arr.concact("d","e"); 将返回包括从"a"到"e"字母元素的数组。而arr本身不受影响。 objArray.join(separator)-----------------以separator指...
或许你一直在用javascript中的array的sort. 或许你一直相信它会给你正确的结果。 至少我曾经也是这样认为的,直到有一天,我看到了如下的代码 : 代码如下: [5,10,1].sort(); 或许结果有点出人意料。结果如下: 代码如下: [1,10,5] 仔细深究之后,发现原来默认的sort方法并不是按照整形数据来排序,而是用的字符串匹配方式。 换言之就是10 中的这个 1 导致了上面代码的错误。 当然,解决方法有很多,可以给sort方法中传入回调函...
首先数组的定义以及初始化的方法: var myArray = new Array(1,3.1415,"love"); //这里注意myArray数组中的元素不只是同一种数据类型的元素,可以有整形,有浮点型,有字符串等等都可以。这里充分展示了javascript作为一种语言对数据类型的弱化,语言更加的随意化,简便化。就行定义对象的时候用var一样。 在此介绍的有限,同时有一些我没有给出结果,希望大家自己体会,自己动手尝试一下,看看结果到底是什么,这样有助于记忆。以下...
js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^ 代码如下:var arr = new Array();arr[0] = "aaa";arr[1] = "bbb";arr[2] = "ccc";//alert(arr.length);//3arr.pop();//alert(arr.length);//2//alert(arr[arr.length-1]);//bbbarr.pop();//alert(arr[arr.length-1]);//aaa//alert(arr.length);//1 var arr2 = new Array();//alert(arr2.length);//0arr2[0] = "aaa";arr2[1] = "bbb";//a...
我们经常会用到这个一样逻辑,判断一个字符串或者数字是否在数组内,很多程序语言都有这样一样专门的函数,比如PHP的in_array()。那么JS有木有呢,很遗憾,JS木有这样的函数,于是想到伟大的JQ是否封装了这个函数,找到了API,JQ的确封装了这个函数jQuery.inArray( value, array ) 搜索数组中指定值并返回它的索引(如果没有找到则返回-1)。value要搜索的值。array一个数组,通过它来搜索。 当然,处于学习,自己也去写了这样的函...