❶ js中數組可以使用filter過濾,但如果是json對象要怎麼過濾json對象是沒有filter方法的吧
過濾器(filter)正如其名,作用就是接收一個輸入,通過某個規則進行內處理,然後返容回處理後的結果。主要用在數據的格式化上,例如獲取一個數組中的子集,對數組中的元素進行排序等。ng內置了一些過濾器,它們是:currency(貨幣)、date(日期)、filter(子串匹配)、json(格式化json對象)、limitTo(限制個數)、lowercase(小寫)、uppercase(大寫)、number(數字)、orderBy(排序)。總共九種。除此之外還可以自定義過濾器,這個就強大了,可以滿足任何要求的數據處理。AngularJS中為我們提供了一些內置的過濾器,這里列舉一些自定義過濾器的場景。
❷ js中怎樣實現數組過濾函數filter
filter 是根據返回的值是否為真來判斷是否保留元素,所以可以這樣實現
Array.prototype.filter=Array.prototype.filter||function(func){
vararr=this;
varr=[];
for(vari=0;i<arr.length;i++){
if(func(arr[i])){
r.push(arr[i]);
}
}
returnr;
}
因為目前大部分瀏覽器有 filter 實現,所以測試時只能改個名字叫 filterx,下面是測試代碼
vardata=[1,2,3,4,5,6,7];
Array.prototype.filterx=Array.prototype.filterx||function(func){
vararr=this;
varr=[];
for(vari=0;i<arr.length;i++){
if(func(arr[i])){
r.push(arr[i]);
}
}
returnr;
}
console.log(data.filter(function(t){
returnt%3>0;
}));
console.log(data.filterx(function(t){
returnt%3>0;
}));
❸ AS3數組怎麼用filter方法將數組中數據類型為數值型(Number)的數據以及它們的累加和輸出
var arr:Array=["d",1,3,"4",5];
var sum:Number=0;
var arr1:Array=arr.filter(foo);
function foo(e:*,index:int,arr:Array):Boolean{
if(e is Number){
sum+=e;
return true;
}
return false;
}
trace("結果:"+arr1,"總和:"+sum);
❹ js中filter怎麼過濾數組中的相同元素
由於現在還抄沒有看到js的對象襲,所以,就先用本方法寫去除數組中重復元素的本方法了,後面再修改咯。代碼如下:
function f1(arr) {
var len = arr.length;
for(var i=0; i<len-1; i++){
for(var j=i+1; j<len; j++){
//如果元素相等了,就刪除後面的那個元素
if(arr[i] == arr[j]){
arr.splice(j,1); //刪除元素
}
}
}
alert(arr);
}
//定義一個有重復數據的待操作的數組
var arr = ['qiang','ming','tao','li','liang','you','you','qiang','tao','li'];
f3(arr);
❺ Javascript如何過濾數組
你這個數據格式就有問題吧。。
應該是這樣的:
var arr = {
"list":
回[{name:"tony","age":22},
{name:"JOE","age":22},
{name:"jod","age":23},
{name:"Kim","age":24}]
};
過濾答:
var array = new Array();
for(var i = 0; i < arr.list.length; i++){
if (arr.list[i].age == 22 ) array.push(arr.list[i]);
}
輸出:
var str="";
for (var j = 0; j < array.length; j++){
str += "name:" + array[j].name + " age:"+array[j].age+"\n";
}
alert(str);
❻ JavaScript 數組some()和filter()的用法及區別
some方法
array1.some(callbackfn[,
thisArg])
對數組array1中的每個元素調用回調函數callbackfn,當回調函數返回true或者遍歷完所有數組後,some方法終止。可選參數thisArg可以替換回調函數中的this對象
filter方法
array1.filter(callbackfn[,
thisArg])
對數組array1中的每個元素調用回調函數callbackfn方法,該方法會返回一個在回調函數中返回true的元素的新的集合。可選參數thisArg可以替換回調函數中的this對象
兩者的區別
some方法返回的是boolean值,可用於檢察數組中是否有某對象
filter方法返回的是一個新數組,可用於過濾數組中的對象
以上這篇JavaScript
數組some()和filter()的用法及區別就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
❼ Filter函數 怎麼操作二維數組
可以用二維數組名作為實參或者形參,在被調用函數中對形參數組定義時可以指定所有維數的大小,也可以省略第一維的大小說明,如:
void Func(int array[3][10]);
void Func(int array[][10]);
二者都是合法而且等價,但是不能把第二維或者更高維的大小省略,如下面的定義是不合法的:
void Func(int array[][]);
因為從實參傳遞來的是數組的起始地址,在內存中按數組排列規則存放(按行存放),而並不區分行和列,如果在形參中不說明列數,則系統無法決定應為多少行多 少列,不能只指定一維而不指定第二維,下面寫法是錯誤的:
void Func(int array[3][]);實參數組維數可以大於形參數組,例如實參數組定義為:
void Func(int array[3][10]);
而形參數組定義為:
int array[5][10];
這時形參數組只取實參數組的一部分,其餘部分不起作用。
對於數組 int p[m][n];
如果要取p[i][j]的值(i>=0 && i<m && 0<=j && j < n),編譯器是這樣定址的,它的地址為:
p + i*n + j;
void Func(int array[3][10]);
void Func(int array[][10]);
變為:
void Func(int **array, int m, int n);
在轉變後的函數中,array[i][j]這樣的式子是不對的(不信,大家可以試一下),因為編譯器不能正確的為它定址,所以我們需要模仿編譯器的行為把array[i][j]這樣的式子手工轉變為:
*((int*)array + n*i + j);
在調用這樣的函數的時候,需要注意一下,如下面的例子:
int a[3][3] =
{
{1, 1, 1},
{2, 2, 2},
{3, 3, 3}
};
Func(a, 3, 3);
根據不同編譯器不同的設置,可能出現warning 或者error,可以進行強制轉換如下調用:
Func((int**)a, 3, 3);
其實多維數組和二維數組原理是一樣的,大家可以自己擴充的多維數組,這里不再贅述。寫到這里,我先向看了這篇文章後悔的人道歉,浪費你的時間了。下面是一 個完整的例子程序,這個例子程序的主要功能是求一個圖中某個頂點到其他頂點的最短路經,圖是以鄰接矩陣的形式存放的(也就是一個二維數組),其實這個函數 也是挺有用的,但是我們這篇文章的重點在於將二維數組作為函數的參數傳遞。
❽ angular filter 對數組過濾時,排除arr怎麼做
js:
$scope.arr = [
["212","上","下","左","右"],
["12","1","2","3","4"],
]
html:
<input type="text" ng-model="text">
<tr ng-repeat="dataTr in arr | filter:text">
<td ng-repeat="dataTd in dataTr">
<ng-switch on="$first">
<span ng-switch-when="true">{{index+1}}</span>
<span ng-switch-default>{{dataTd}}</span>
</ng-switch>
</td>
</tr>
❾ VBA如何用數組 用Filter來寫這個
Subs()
arr=[a1].CurrentRegion
t=[g1]&"*"
k=2
Fori=1ToUBound(arr)
Ifarr(i,1)LiketThen
Cells(k,4)=arr(i,1)
Cells(k,5)=arr(i,2)
k=k+1
EndIf
Next
EndSub
❿ VBS里數組過濾(Filter),能否指定完全相等的元素
自己寫函數來處理吧 這個函數就是 包含 而不是等於