導航:首頁 > 編程語言 > js怎麼獲得數組長度

js怎麼獲得數組長度

發布時間:2023-03-03 18:09:00

js里如何從數組中獲取值

var arr=[2,4,5,3,5,3,0];

var arrvalue;//用於存放取出的數組的值

for(var i=0;i<arr.length;i++){

arrvalue=arr[i];//數組的索引是從0開始的

console.log(arrvalue);//把取出的值列印在控制台上

}

(1)js怎麼獲得數組長度擴展閱讀:

js 獲取數組中的最大值和最小值

var arr = [3,12,23,18,25,33,22,30,1]

方案一: 思想 首先對數組進行排序(小 》大),第一項為最小值,最後一項為最大值

var min;

var max;

arr.soft(function(a,b){return a-b;})

min = arr[0];

max = arr[arr.length-1];

方案二:採用Math對象里的min()方法和 max()方法,需要將比較的數一個一個的傳遞進來才能比較,但是可以通過以下方式轉化即可;

var min = Math.min(arr);

console.log(min) // NAN

console.log(Math.min(3,12,23,18,25,33,22,30,1)) // 1

console.log(Math.max(3,12,23,18,25,33,22,30,1)) // 33

var min =eval("Math.min(" +arr.toString()+")"); // 1 採用字元串拼接

var min = eval("Math.max(" +arr.toString()+")");; // 33

var min = Math.min.apply(obj,arr) // 1 利用apply方法一項一項傳質的特點

var max =Math.max.apply(obj,arr) // 33

javascript 怎麼取多維數組的長度 這樣的:var xx = [{, },{, }];

//首先這是一個一抄維數組,這個一維數組的長度為3,分別是3個對象
//取length;
alert(cars.length);
//想取year
for(vari=0;i<cars.length;i++){
if(cars[i].year<2005){
alert("cars中第"+(i+1)+"個元素的年份是"+cars[i].year);
}
}

㈢ JS獲取數組最大值、最小值及長度的方法

本文實來例講述了JS獲取數組最大值自、最小值及長度的方法。分享給大家供大家參考,具體如下:
//最小值
Array.prototype.min
=
function()
{
var
min
=
this[0];
var
len
=
this.length;
for
(var
i
=
1;
i
<
len;
i++){
if
(this[i]
<
min){
min
=
this[i];
}
}
return
min;
}
//最大值
Array.prototype.max
=
function()
{
var
max
=
this[0];
var
len
=
this.length;
for
(var
i
=
1;
i
<
len;
i++){
if
(this[i]
>
max)
{
max
=
this[i];
}
}
return
max;
}
//數組長度
var
array
=
new
array(1,2,3,2,4,55,2);
alert(array.length);//輸出7
希望本文所述對大家JavaScript程序設計有所幫助。

㈣ js 二維數組長度

1、二維數組來聲明方式是下面這樣的源:
var images=new Array(); //先聲明一維
for(var i=0;i<10;i++){ //一維長度為10
images[i]=new Array(); //在聲明二維
for(var j=0;j<20;j++){ //二維長度為20
images[i][j]=1;
}

2、二級數組使用方式應該是這樣子的:
alert(images[0][0]);
聲明確實比較麻煩,需要先聲明第一維,然後循環生成第二維

㈤ JS 在一個函數中 求數組長度

var arr= [10,20,30,40, null , ,, 5,]

function a (arr) {
if (arr instanceof Array) {
return arr.length
}
return 0
}
不懂來可源以追問

㈥ JS如何獲取Json數組里數組長度的實例

請求回的json直接點length,或者如果你接收用的json,接收到的數據裡面是包含一個數組,那麼內你容可以直接,json.arr.length 當然是類似這樣的 ,因為你的數組前面個的key不一定是arr這個名字

㈦ JS 數組相關操作

push()可以將某些值加入到數組的最後一個位置,並且不限制添加數量(註:數組長度是有限制的),如果需要添加多項內容使用逗號隔開即可,加入後數組長度會增加。

let a=[1,2,3,4,5,6,7,8];

a.push(9,10);

console.log(a);// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

pop()會移除數組的最後一個元素。

let a=[1,2,3,4,5,6,7,8];

a.pop();

console.log(a);// [1, 2, 3, 4, 5, 6, 7]

shift() 會移除數組的第一個元素。

let a=[1,2,3,4,5,6,7,8];

a.shift();

console.log(a);// [2, 3, 4, 5, 6, 7, 8]

unshift() 會將指定的元素添加到數組的第一個位置。

let a=[1,2,3,4,5,6,7,8];

a.unshift(100,200,300);

console.log(a);// [100, 200, 300, 1, 2, 3, 4, 5, 6, 7, 8]

reverse()會將數組反轉

let a=[1,2,3,4,5,6,7,8];

a.reverse();

console.log(a);// [8, 7, 6, 5, 4, 3, 2, 1]

splice()可以移除或新增數列的元素,它包含了三個參數,第一個是要移除或要添加的序列號( 必填),第二個是要移除的長度( 選填,若不填則從第一個參數序號位置開始,後方的所有元素都會被移除,若設定為0則不會有元素被移除),第三個是要替換的內容( 選填 )

let a=[1,2,3,4,5,6,7,8];

a.splice(5,1);

console.log(a);// [1, 2, 3, 4, 5, 7, 8] ( 6 被移除了 )

添加第三個參數就能夠添加或替換元素。

let a=[1,2,3,4,5,6,7,8];

a.splice(5,1,100);

console.log(a);// [1, 2, 3, 4, 5, 100, 7, 8] ( 6 被移除,100加到第5個位置 )

let b=[1,2,3,4,5,6,7,8];

b.splice(5,3,100,200,300);

console.log(b);// [1, 2, 3, 4, 5, 100, 200, 300] ( 6,7,8 被移除,100,200,300 加到第 5,6,7 個位置 )

let c=[1,2,3,4,5,6,7,8];

c.splice(5,0,100);

console.log(c);// [1, 2, 3, 4, 5, 100, 6, 7, 8] ( 沒有元素被移除,100 加到第 5 個位置 )

sort()可以針對數組的元素進行排序,里頭包含了一個排序用的判斷函數,函數內必須包含兩個參數,這兩個參數分別代表數組里的第n個和第n+1 個元素,通過比較第n和第n+1個元素的大小來進行排序。

let a=[1,3,8,4,5,7,6,2];

a.sort((x,y)=>y-x);

console.log(a);// [8, 7, 6, 5, 4, 3, 2, 1]

a.sort((x,y)=>x-y);

console.log(a);// [1, 2, 3, 4, 5, 6, 7, 8]

如果不使用判斷函數, 默認會將元素轉換成字串,並採用unicode來判斷 ,這也會造成某些數字的排序錯誤,如下段示例:

let a=[1,3,8,4,5,7,6,2,9,10,11];

a.sort();

console.log(a);// [1, 10, 11, 2, 3, 4, 5, 6, 7, 8, 9]

Within()能復制數組中的某些元素,並將它們放到同一個數組指定的位置,Within()有三個參數,第一個是要置換的位置(必填),第二個是從什麼位置開始復制(選填,預設0 ),第三個是停止復制的元素的前一個位置(選填,默認值等於數組長度)。

let a=[1,2,3,4,5,6,7,8];

a.Within(2);

console.log(a);// [1,2,1,2,3,4,5,6] ( 因 7 和 8 超過數組長度,只出只復制到6 )

let b=[1,2,3,4,5,6,7,8];

b.Within(3,1,3);

console.log(b);// [1,2,3,2,3,6,7,8] ( 復制 2,3 取代 4,5 )

fill()會把數組中所有元素,置換為指定的值,fill()有三個參數,第一個是准備要置換的內容(必填),第二個是從什麼位置開始置換(選填,不設定就全部置換) ,第三個是停止置換的元素的前一個位置(選填,預設等於數組長度)。

let a=[1,2,3,4,5,6,7,8];

a.fill('a');

console.log(a);// ['a','a','a','a','a','a','a','a']

let b=[1,2,3,4,5,6,7,8];

b.fill('b',3,5);

console.log(b);// [1,2,3,'b','b',6,7,8]

length可以取得數組的長度。

let a=[1,2,3,4,5,6,7,8];

console.log(a.length);// 8

indexOf() 會判斷數組中是否包含某個值,判斷的方式為「由左而右」,如果有包含就返回這個值在數組中的索引值,如果沒有就返回-1,有兩個參數,第一個參數表示要判斷的值( 必填),第二個參數表示從數組的哪個位置開始判斷( 選填,預設為0 )。

let a=[1,2,3,4,5,6,7,8];

console.log(a.indexOf(4));// 3

console.log(a.indexOf(4,5));// -1 ( 在6,7,8中搜索有沒有4 )

lastIndexOf() 會判斷數組中是否包含某個值,判斷的方式為「由右而左」,如果有包含就返回這個值在數組中的索引值,如果沒有就返回-1,這個方法有兩個參數,第一個參數表示要判斷的值( 必填),第二個參數表示判斷從數組的哪個位置開始從右往左查找( 選填,默認為整個數組長度-1 )。

let a=[1,2,3,4,5,6,7,8];

console.log(a.lastIndexOf(3));// 2

console.log(a.lastIndexOf(3,1));// -1 ( 只在1,2中判斷,所以沒有 3 )

find()會將數組中的「每一個」元素帶入指定的函數內做判斷,並會返回第一個符合判斷條件的元素,如果沒有元素符合則會返回undefined。

let a=[1,2,3,4,5,6,7,8];

console.log(a.find(e=>e>3));// 4

console.log(a.find(e=>e<0));// undefined

findIndex()會將數組中的「每一個」元素帶入指定的函數內做判斷,並會返回第一個符合判斷條件元素的位置索引,如果沒有元素符合則會返回-1。

let a=[1,2,3,4,5,6,7,8];

console.log(a.findIndex(e=>e>3));// 3

console.log(a.findIndex(e=>e<0));// -1

filter()會將數組中的「每一個」元素帶入指定的函數內做判斷,如果元素符合判斷條件則會返回,組成一個新的數組。

let a=[1,2,3,4,5,6,7,8];

console.log(a.filter(e=>e>3));// [4, 5, 6, 7, 8]

console.log(a.filter(e=>e%2==0));// [2, 4, 6, 8]

forEach()會將數組中每個元素套用到指定的函數里進行運算,函數有三個參數,第一個參數表示每個元素的值( 必填),第二個參數為該元素的索引值( 選填),第三個參數則表示原本的數組( 選填)。

let a=[1,2,3,4,5];

let b=0;

a.forEach(item=>{b=b+item;});

console.log(b);// 15 ( 1+2+3+4+5 )

如果結合第二和第三個參數進行搭配使用,就能做到改變原本數組的效果。

let a=[1,2,3,4,5];

a.forEach((item,index,arr)=>{arr[index]=item*10;});

console.log(a);// [10,20,30,40,50]

join()可以將數組中所有元素,變成由指定的字元分割合並在一起組合成字元串進行呈現,若沒有指定字元默認會用「逗號」合並。

let a=[1,2,3,4,5,6,7,8];

console.log(a.join());// 1,2,3,4,5,6,7,8

console.log(a.join(''));// 12345678

console.log(a.join('@@'));// 1@@2@@3@@4@@5@@6@@7@@8

concat()可以將兩個數組合並在一起,如果是使用ES6語法也可以用擴展運算符...來代替。

let a=[1,2,3,4,5];

let b=[6,7,8,9];

let c=a.concat(b);

let d=[...a,...b];// 使用 ...

console.log(c);// [1,2,3,4,5,6,7,8,9]

console.log(d);// [1,2,3,4,5,6,7,8,9]

slice()可以截取出數組某部份的元素為一個新的數組,有兩個必填的參數,第一個是起始位置,第二個是結束位置( 操作時數字減1 )。

let a=[1,2,3,4,5,6,7,8];

let b=a.slice(2,4);

console.log(b);// [3, 4]

map()會處理數組中每個元素,最後返回一個新的數組,里頭有一個函數( 必填) 和一個返回函數里的this參數( 選填),函數內又包含三個參數,第一個是每個元素的值( 必填),第二個是當前元素的索引值( 選填),第三個是當前的數組( 選填)。

let a=[1,2,3,4,5,6,7,8];

let b=a.map(e=>{returne+10;});

console.log(b);// [11, 12, 13, 14, 15, 16, 17, 18]

使用第二個和第三個參數的示例:

let a=[1,2,3,4,5,6,7,8];

let b=a.map((e,i,arr)=>{return`${e}${i}${arr.find(e=>e%5==1)}`;// 組合成「元素 + 索引值 + 除以五餘數為1的第一個元素」});

console.log(b);// ['101', '211', '321', '431', '541', '651', '761', '871']

如果要使用回調函數里this的參數,則「不能使用」箭頭函數,因為箭頭函數的this指向和函數的this指向不同,所以要用一般的函數處理。

let a=[1,2,3,4,5,6,7,8];

let b=a.map(function(e){

    returne+this;// 此處的 this為10

},10);

console.log(b);// [11, 12, 13, 14, 15, 16, 17, 18]

rece() 可以將數組中每個元素進行計算,每次計算的結果會再與下個元素作計算,直到結束為止,里頭包含一個函數( 必填) 和初始計算的數值( 選填),函數內有四個參數,第一個是計算的值( 必填),第二個是取得的元素(必填),第三個是該元素的索引值( 選填),第四個是原本的數組(選填)。

let a=[1,2,3,4,5,6,7,8];

let b=a.rece(function(total,e){returntotal+e;});

console.log(b);// 36 ( 1+2+3+4+5+6+7+8=36 )

receRight() 和rece()大同小異,只是其計算方式是由右到左,對於加法來說沒什麼影響,但對於減法而言就有差異。

let a=[1,2,3,4,5,6,7,8];

let b=a.rece(function(total,e){returntotal-e;});

console.log(b);// -34 ( 1-2-3-4-5-6-7-8 = -34 )

let c=a.receRight(function(total,e){returntotal-e;});

console.log(c);// -20 ( 8-7-6-5-4-3-2-1 = -20 )

flat()可以將一個多維數組的深度轉成一維(扁平化或稱作降維),它有一個選填的參數,代表要轉換的深度數字,預設為1(只展開一層放到一維數組里,如果是2,只展開2層放到一維數組里),如果深度有很多層,可使用Infinity來全部展開成一維數組。

let a=[1,2,[3],[4,[5,[6]]]];

let b=a.flat();

let c=a.flat(2);

let d=a.flat(Infinity);

console.log(b);// [1, 2, 3, 4, [5, [6]]]

console.log(c);// [1, 2, 3, 4, 5, [6]]

console.log(d);// [1, 2, 3, 4, 5, 6]

flatMap()的方法等於map()和flat()的組合,在運算後直接將數組扁平化處理。

let a=[1,2,[3],[4,5]];

let b=a.flatMap(e=>e+1);

let c=a.map(e=>e+1).flat();

console.log(b);// [2, 3, "31", "4,51"] ( 可以看到 b 和 c 得到的結果相同 )

console.log(c);// [2, 3, "31", "4,51"]

Array.isArray()能判斷一個元素是否為數組,如果是就返回true,不然就返回false。

let a=[1,2,3,4,5,6,7,8];

let b=123;letc='hello';

let d={d1:1,d2:2};

console.log(Array.isArray(a));// true

console.log(Array.isArray(b));// false

console.log(Array.isArray(c));// false

console.log(Array.isArray(d));// false

Array.from()會將「類數組」或是「可迭代的對象」轉換成數組,Array.from()有兩個參數,第一個參數為「類數組對象」或「可迭代的對象」(必填),第二個參數則是改變轉換成數組元素的函數(選填)。

類數組對象具有length 屬性以及索引化index 的元素,可迭代對象表示具有可以利用迭代的方式取得它自己本身的元素,例如Map 和Set...等。( 參考MDN 說法 )

let a='abcde';

let b=Array.from(a);

console.log(b);// ['a','b','c','d','e']

let c=Array.from(a,e=>e+e);

console.log(c);// ['aa','bb','cc','dd','ee']

類數組對象寫法必須包含length 屬性,且對象的key須為0開始的數字,對應轉換後的元素索引。

let a={'0':14,'2':13,'1':7,'3':9,'4':6,length:5};

let b=Array.from(a);

console.log(b);// [14,7,13,9,6]

Array.of()可以快速將數字、字串等內容,轉換成數組。

let a=Array.of(1,'a',2,'b',3);

console.log(a);// [1, "a", 2, "b", 3]

toString()會把整個數組轉換成字元串。

let a=[1,2,3,4,5,6,7,8];

let b=a.toString();

console.log(b);// 1,2,3,4,5,6,7,8

every()會將數組中的「每一個」元素帶入指定的函數內做判斷,只要有任何一個元素不符合判斷條件,會回返回false,如果全部符合,就會回傳true。

let a=[1,2,3,4,5,6];

console.log(a.every(e=>e>3));// fasle ( 因為1、2 小於 3,3 等於 3 )

console.log(a.every(e=>e>0));// true

some()會將數組中的「每一個」元素帶入指定的函數內做判斷,只要有任何一個元素符合判斷條件,就會返回true,如果全都不符合,才會返回false。

let a=[1,2,3,4,5,6];

console.log(a.some(e=>e>3));// 返回 true,因為 4、5、6 大於 3

console.log(a.some(e=>e>6));// 返回 fasle,因為全都小於或等於 6

includes()會判斷數組中是否包含某個值,如果有包含就返回true,否則返回false,有兩個參數,第一個參數表示要判斷的值( 必填),第二個參數表示從數組的哪個位置開始判斷( 選填)。

let a=[1,2,3,4,5,6,7,8];

console.log(a.includes(2));// true

console.log(a.includes(2,2));// false ( 在 3,4,5,6,7,8 查找有沒有 2 )

valueOf()會返回數組的原始值,如果原本的數組有修改,那麼返回的原始值也會跟著改變(相當淺復制)

let a=[1,2,3,4,5,6,7,8];

let b=a.valueOf();

console.log(a);// [1, 2, 3, 4, 5, 6, 7, 8]

let c=a.valueOf();

a.shift();

console.log(a);// [2, 3, 4, 5, 6, 7, 8]

console.log(b);// [2, 3, 4, 5, 6, 7, 8] ( 因為 a 的原始值更新了,所以 b 也變了 )

console.log(c);// [2, 3, 4, 5, 6, 7, 8]

keys()會返回數組中的每一個索引值( key )成為一個新的Array Iterator對象,因為是Array Iterator對象,可以使用for...of進行迭代。

let a=['a','b','c','d','e'];

let b=a.keys();

for(let key of b){

    console.log(key);// 1、2、3、4、5

}

閱讀全文

與js怎麼獲得數組長度相關的資料

熱點內容
成都公積金app為什麼下載不了 瀏覽:621
2014微雲版本 瀏覽:903
文件保存路徑規范 瀏覽:827
vb編程如何新建excel 瀏覽:83
穿越火線文件名字 瀏覽:750
最新款快手如何無水印網站視頻 瀏覽:625
劍靈到50級後怎麼升級 瀏覽:671
文本文件內容開機以後發現沒了 瀏覽:593
ie單文件英文 瀏覽:865
如何修改數據表的數據 瀏覽:476
找出取走了哪個數據 瀏覽:229
做app除了app還有哪些消費 瀏覽:276
哪個網站能查外國賽鴿腳環 瀏覽:134
win10更新後原來的系統文件 瀏覽:852
win10開機代碼錯誤怎麼解決 瀏覽:931
js控制hr標簽長度 瀏覽:551
win10刪除設置里的游戲嗎 瀏覽:893
win10無法視頻播放器 瀏覽:989
未來寬頻初始密碼 瀏覽:517
化妝品宣傳單是word做的嗎 瀏覽:237

友情鏈接