OC 陣列方法介紹

2022-09-24 04:21:11 字數 2944 閱讀 8742

nsarray是不可變的陣列,只能夠存放物件,但是可以存放不同型別的物件

首先定義乙個類

#import @inte***ce person : nsobject

@property nsstring *name;

- (id)initwithname:(nsstring *)name;

@end

#import "

person.h

"@implementation person

- (id)initwithname:(nsstring *)name

return

self;

}@end

陣列的初始化

//

建立陣列幾種形式

nsarray *array = [[nsarray alloc] initwithobjects:p1, @"

nsstring

",@13,nil];//

建立乙個不可改變的陣列 包括多個物件

array = [nsarray arraywithobjects:p1, @"

nsstring

",@13,nil]; //

工程模式建立(便利構造器)建議用這樣方式建立(不需要管理記憶體)

nslog(@"%@"

,array);

id ch[

4]= ;

nsarray *array1 = [[nsarray alloc] initwithobjects:ch count:4];//

由乙個陣列建立

array1 = [nsarray arraywithobjects:ch count:4];//

工廠模式

nslog(@"%@"

,array1);

nsarray *array2 = [[nsarray alloc] init];//

不可變的空陣列

array2 =[nsarray array];

nslog(

@"%@

",array2);

array1 = [nsarray arraywithobject:@"

abc"];//

建立乙個物件的不可變陣列

陣列的常用方法測試

//

獲取陣列長度

nsinteger length =[array count];

nslog(

@"%ld

",length);

//獲取陣列中的物件

id obj = [array objectatindex:0

]; nslog(

@"%@

", obj);

//也可以用下面這種語法

obj = array[0

]; nslog(

@"%@

", obj);

//獲取物件在陣列中的位置

nsinteger index = [array indexofobject:@13

]; nslog(

@"%lu

", index);

//遍歷陣列

//1常規方式

for (int i = 0; i < [array count]; i++)

//2快速遍歷

for(id obj in

array)

//將陣列轉換為字串

nsarray *patharray = [nsarray arraywithobjects:@"

here

", @"

be", @"

dragons

", p1, @13

,nil];

nslog(

@"%@

",[patharray componentsjoinedbystring:@"-"

]);

//陣列比較

nsarray *arrayequal1 = [nsarray arraywithobjects:@"

here

", @"

be", @"

dragons

", p1, @13

,nil];

nsarray *arrayequal2 = [nsarray arraywithobjects:@"

here1

", @"

be", @"

dragons

", p1, @13

,nil];

nslog(

@"%hhd

",[arrayequal1 isequaltoarray:arrayequal2]);//

結果為0(no)

nslog(@"

%hhd

",[arrayequal1 isequaltoarray:arrayequal1]);//

1(yes)

//陣列的排序

nsarray *arrsort = @[@"

aaa", @"

hhh",@"

bbb"

];

//運用selector

arrsort =[arrsort sortedarrayusingselector:@selector(compare:)];

nslog(

@"%@

",arrsort);

//運用block

arrsort = [arrsort sortedarrayusingcomparator:^nscomparisonresult(id obj1, id obj2) ];

nslog(

@"%@

",arrsort);

javaScript 陣列方法

1 array.concat 合併陣列 var a a b c var b x y z var c a.concat b,true c a b c x y z true 2 array.join 把陣列轉換成字串,預設是join var a a b c a.push d var c a.join c...

js陣列方法

array.json 方法將陣列中所有元素都轉化為字串並連線在一起 預設逗號 返回生成的字串,原陣列不改變 例 var a 1 2,3 a.join 1,2,3 a.join 1 2 3 array.reverse 方法將陣列中的元素顛倒順序 返回逆序的陣列,原陣列改變 例 var a 1,2,3 ...

封裝陣列方法

標籤 空格分隔 未分類 push 1 封裝乙個函式,這個函式的名字叫做 push 2 這個函式的引數,第乙個是乙個陣列,第二個以後是任意的資料 3 呼叫這個函式,那麼會把第二個以後的所有引數,依次放到第乙個引數也就是那個陣列的最後乙個位置。4 這個函式返回值,是放入這些資料之後陣列的長度。var a...