陣列常用例項封裝 下

2021-09-02 19:13:32 字數 2036 閱讀 2047

1.陣列(字串)乙個元素出現的次數

function

getelecount

(obj,ele)

}return num;

}

2.獲取物件陣列某些項
function

getelecount

(arr, keys)

var _keys = keys.

split

(','

), newarrone =

;//是否只是需要獲取某一項的值

if(_keys.length ===1)

return newarr;

}for

(var i =

0, len = arr.length; i < len; i++);

for(

var j =

0, len1 = _keys.length; j < len1; j++

) newarr.

push

(newarrone);}

return newarr

}var arr =[,

,,,]

getelecount

(arr,

'a,c'

)//result:[,,,,]

getelecount

(arr,

'b',1)

//result:[2, 3, 9, 2, 5]

3.排除陣列某些項
function

filteroptionarray

(arr, keys)

;for

(var i =

0, len = arr.length; i < len; i++);

for(

var key in arr[i])}

newarr.

push

(newarrone);}

return newarr

}var arr=[,

,,,]

filteroptionarray

(arr,

'a')

//result:[,,,,]

filteroptionarray

(arr,

'a,c'

)//result:[,,,,]

4.物件陣列的排序
function

arraysort

(arr, sorttext)

var _sorttext = sorttext.

split

(',').

reverse()

, _arr = arr.

slice(0

);for(

var i =

0, len = _sorttext.length; i < len; i++))

}return _arr;

}var arr=[,

,,,]

arraysort

(arr,

'a,b'

)//a是第一排序條件,b是第二排序條件

//result:[,,,,]

5.陣列扁平化
//方法一:

function

steamroller

(arr)

else

}return newarr;

}//方法二:

function

steamroller

(arr)

else

}return newarr;

}//方法三:es6語法

function

steamroller

(arr)

var arr =[[

1,2,

[4,5

,[1,

23]]]

];steamroller

(arr)

;//result:[1, 2, 4, 5, 1, 23]

C 筆記( 封裝(下))

c 物件陣列和物件成員 物件陣列 例子 class coordinate int main void 物件成員 初始化時先初始化成員物件,再初始化總物件,銷毀時先銷毀總物件再銷毀其中成員物件。使用物件成員的例子 include include include line.h using namespa...

學習筆記 C 封裝(下)

初始化乙個有n個物件的物件陣列時呼叫n次建構函式 相應的,銷毀時呼叫n次析構函式 例項化乙個物件時,如果這個物件包含物件成員,則先例項化物件成員,在例項化這個物件 物件成員實踐 當資料成員中含有指標時,淺拷貝會使兩個物件的成員指標指向相同的記憶體位址 深拷貝不是簡單的值拷貝,而是將指標成員指向的記憶...

iOS 遊戲渠道SDK 抽象工程封裝 下

這樣做的好處,不止在於可以清晰地劃分 之間的界限,更重要的是,這樣更加便於管理和維護。試想一下,我們做抽象工程的目的是什麼?是為了遊戲可以不用頻繁重複地接入渠道sdk嘛。那麼怎麼才能達到這個目的呢?我們將 劃分成兩個部分 thirdlib用來存放渠道sdk的依賴庫檔案。為什麼我們要把目錄的職責分得這...