本文實(shí)例講述了JavaScript學(xué)習(xí)筆記之?dāng)?shù)組基本操作。分享給大家供大家參考,具體如下:
成都創(chuàng)新互聯(lián)是一家專(zhuān)注于網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站與策劃設(shè)計(jì),北安網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:北安等地區(qū)。北安做網(wǎng)站價(jià)格咨詢:18982081108
一、數(shù)組定義
1、定義
vara=[1,2,3]
vara=newArray(1,2,3);
2、長(zhǎng)度
返回長(zhǎng)度
script
vara=[1,2,3,4,5,6];
alert(a.length);
/script
設(shè)置長(zhǎng)度
script
vara=[1,2,3,4,5,6];
a.length=2;
alert(a);
/script
二、數(shù)組連接
script
vara=[1,2,3];
varb=[4,5,6];
alert(a.concat(b));
alert(b.concat(a));
/script
三、數(shù)組排序
sort()函數(shù)
默認(rèn)情況是把數(shù)組元素按字符串排序
例子
01
script
vararr=['float','width','alpha','zoom','left'];
arr.sort();
alert(arr);
/script
例子02
vararr=[12,8,99,19,112];
arr.sort();
alert(arr);
例子03
sort()函數(shù)的改進(jìn)
vararr=[12,8,99,19,112];
arr.sort(function(n1,n2){
returnn1-n2;
});
alert(arr);
四、數(shù)組連接
1、兩個(gè)數(shù)組間的連接:contact()
script
vara=[1,2,3];
varb=[4,5,6];
alert(a.concat(b));
alert(b.concat(a));
/script
2、數(shù)組元素間的連接:join()
script
vararr=[1,2,3,4];
alert(arr.join('--p'));
/script
五、數(shù)組元素添加、刪除
1、數(shù)組尾部的添加、刪除
尾部添加:push(value)
例子01
script
vara=[1,2,3];
a.push(4);
alert(a);
/script
尾部刪除:pop()
例子02
script
vara=[1,2,3];
a.pop();
alert(a);
/script
2、數(shù)組頭部的添加、刪除
頭部添加
unshift(value)
例子01
script
vararr=[1,2,3];
arr.unshift(0)
alert(arr);
/script
頭部刪除:shift()
例子02
script
vararr=[1,2,3];
arr.shift();
alert(arr);
/script
3、數(shù)組------splice()
刪除數(shù)據(jù)
例子01
script
vararr=[1,2,3,4,5,6];
//splice(起點(diǎn),長(zhǎng)度)
arr.splice(2,3);
alert(arr);
/script
插入數(shù)據(jù)
例子02
script
vararr=[1,2,3,4,5,6];
//插入數(shù)據(jù)splice(起點(diǎn),長(zhǎng)度,元素)
arr.splice(2,0,'a','b','c');
alert(arr);
/script
替換數(shù)據(jù)
例子02
script
vararr=[1,2,3,4,5,6];
//替換數(shù)據(jù)
arr.splice(2,2,'a','b');
alert(arr);
/script
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具:測(cè)試上述代碼運(yùn)行結(jié)果。
更多關(guān)于JavaScript相關(guān)內(nèi)容還可查看本站專(zhuān)題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript字符與字符串操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:js數(shù)組與字符串的相互轉(zhuǎn)換方法js刪除數(shù)組元素、清空數(shù)組的簡(jiǎn)單方法(必看)js數(shù)組循環(huán)遍歷數(shù)組內(nèi)所有元素的方法JS
array
數(shù)組詳解js數(shù)組去重的三種常用方法總結(jié)JavaScript從數(shù)組中刪除指定值元素的方法JS數(shù)組的遍歷方式for循環(huán)與for...in向JavaScript的數(shù)組中添加元素的方法小結(jié)JS刪除數(shù)組里的某個(gè)元素方法javascript
數(shù)組的定義和數(shù)組的長(zhǎng)度Js數(shù)組的操作push,pop,shift,unshift等方法詳細(xì)介紹
一、語(yǔ)法
delete后面的表達(dá)式必須給出一個(gè)屬性的引用,比如
var
o
=
{a:1};
delete
o.a;
//此處o.a是對(duì)象o的屬性a的引用
只有在with語(yǔ)句里才能使用單獨(dú)的屬性名
復(fù)制代碼
代碼如下:
with(o){
delete
a;
}
二、delete的返回值
delete是普通運(yùn)算符,會(huì)返回true或false。規(guī)則為:當(dāng)被delete的對(duì)象的屬性存在并且不能被刪除時(shí)
返回false,否則返回true。
這里的一個(gè)特點(diǎn)就是,對(duì)象屬性不存在時(shí)也返回true,所以返回值并非完全等同于刪除成功與否。
復(fù)制代碼
代碼如下:
var
o
=
{a:1};
delete
o.a;
//返回true
var
b
=
2;
delete
b;//返回false,ECMA規(guī)則約定:使用var和function聲明的變量不可以被delete
三、哪些情況下不允許delete
上例提到的var和function聲明的變量不可以被delete,但隱式聲明可以被刪除
復(fù)制代碼
代碼如下:
function
c(){return
12;}
delete
c;//返回false
d
=
function(){return
12;}
delete
d;//返回true
不能delete從原型鏈上繼承的屬性,但可以刪除原型鏈上的屬性
復(fù)制代碼
代碼如下:
function
Foo(){}
Foo.prototype.bar
=
42;
var
foo
=
new
Foo();
delete
foo.bar;
//
返回true,但并沒(méi)有起作用
alert(foo.bar);
//
alerts
42,
屬性是繼承的
delete
Foo.prototype.bar;
//
在原型上刪除屬性bar
alert(foo.bar);
//
alerts
"undefined",
屬性已經(jīng)不存在,無(wú)法被繼承
四、特例
復(fù)制代碼
代碼如下:
eval執(zhí)行的代碼中如有通過(guò)var和function聲明的變量,可以被delete
eval("var
a=1");
delete
a;
alert(a);
//報(bào)未定義錯(cuò)誤
如果聲明是在eval執(zhí)行代碼中的閉包內(nèi)進(jìn)行的,則變量不能被delete
eval("(function(){var
a=1;delete
a;
return
a;})()");//1
五、delete
數(shù)組元素
從數(shù)組中delete其元素并不會(huì)影響數(shù)組的長(zhǎng)度
復(fù)制代碼
代碼如下:
var
arr
=
['yuyin','suhuan','baby'];
delete
arr[0];
alert(arr.length);//alert
3
被delete的鍵值已經(jīng)不屬于數(shù)組,但卻還是可以被訪問(wèn),其值為undefined。
復(fù)制代碼
代碼如下:
var
arr
=
['yuyin','suhuan','baby'];
delete
arr[0];
in
arr;
//
false
alert(arr[0]);//undefined
arr[0]
===
undefined;//true
對(duì)比直接將鍵值賦值undefined
復(fù)制代碼
代碼如下:
var
arr
=
['yuyin','suhuan','baby'];
arr[0]
=
undefined;
in
arr;
//
true
alert(arr[0]);//undefined
arr[0]
===
undefined;//true
可以看出delete
操作只是將鍵值這個(gè)屬性從數(shù)組中刪除了,數(shù)組本身也是對(duì)象,這個(gè)情況好理解的。如果需要保留鍵值,可以用undefined賦值。
% 求余
var a=5;
var b=7;
var c=b%a;//c被賦值b模除于a,這個(gè)時(shí)候c的值是2(7除以5于2)
++ 自加
var a=5;
a++;//這個(gè)時(shí)候a自加,那么a的值現(xiàn)在是6
//a++和++a有區(qū)別,但是都能讓這個(gè)變量自加1
-- 自減
//同自加
== 等于【邏輯判斷】
//這個(gè)式子會(huì)返回真值,就是真(true)假(false)
var a=3;
var b=4;
var c=3;
a=b //3不等于4 返回的是 假
a=c //3等于3 返回的是 真
=== 恒等于【邏輯判斷】
//這個(gè)式子在判斷等于的基礎(chǔ)上還判斷這個(gè)變量的類(lèi)型,初學(xué)者可以不掌握,但是要明白不一樣
!= 不等于【邏輯判斷】
//如果不等于就返回 真 ,等于就返回 假
//和 == 完全相反的返回值
= = 大于 小于 大于等于 小于等于【邏輯判斷】
//返回真值。
【邏輯判斷】
且(and)
|| 或(or)
//條件判斷
表達(dá)式1 表達(dá)式2
//表達(dá)式1和表達(dá)式2都是會(huì)返回真值的式子
//當(dāng)且僅當(dāng)兩個(gè)表達(dá)式均為真的時(shí)候,這整個(gè)式子返回 真 ,否則返回 假
//全真才真,一假則假
表達(dá)式1 || 表達(dá)式2
//當(dāng)且僅當(dāng)兩個(gè)表達(dá)式均為假的時(shí)候,這整個(gè)式子返回 假,否則返回 真
//全假才假,一真則真
! 非(not)【邏輯判斷】
//非是一個(gè)單目,也就是一個(gè)參數(shù)的條件判斷
!表達(dá)式
//返回表達(dá)式真值的反面。如表達(dá)式為真,則返回假;表達(dá)式假則返回真。
這些邏輯判斷符用在可以用真值的地方如 if 條件句:
if( 真值表達(dá)式 ){
//如果為真運(yùn)行這個(gè)大括號(hào)里面的
}else{
//如果為假運(yùn)行這個(gè)大括號(hào)里面的
}
ps:在js中任何式子都可以做真值判斷。0為假,其他任何字符,對(duì)象,變量等都為真。