⑴ js 在一個函數中 求數組長度
var arr= [10,20,30,40, null , ,, 5,]
function a (arr) {
if (arr instanceof Array) {
return arr.length
}
return 0
}
不懂來可源以追問
⑵ Javascript怎麼得到數組長度 詳細
Javascript 怎麼獲取對象的成員個數? 你肯定想到了array.length!? 那麼我們來測試一下下面這個例子回. 請問數組a 有多答少個元素, 或者換一句話說, 數組a 的長度為多少?你會告訴我長度為1, 但瀏覽器會告訴你a.length 為51. 有點意思吧? 那我們再看一個例子. 請問數組a 有多少個元素, 或者換一句話說, 數組a 的長度為多少? 我們都知道現在數組a 的元素個數為3 個,但瀏覽器會告訴你a.length 為0 !! js 怎麼獲取對象的成員個數? 用length 屬性嗎? 以上代碼得到結果為undefined! 綜上所述,length 不可靠,要想准確獲取js 數組元素個數或者對象的成員個數,我們需要自己動手寫一個函數. 如果傳入數組則計算數組長度,如果傳入對象則計算對象成員數,如果傳入字元串則計算字元串的字數.其他類型返回false 現在在測試一下剛才的例子? 得到結果為2 得到結果為3. 得到結果為2
⑶ js怎麼比較對象中數組的長度
var gradeOne ={
classOne: ['語蕊', '楊文麗', '耿雨真', '能宏達', '介山槐'],
classTwo: ['暨嘉運', '白秋', '永黛娥', '廖俊風'],
classThree: ['萇晶瀅', '夏菡', '慕容天青版', '釋鴻文', '隋樂詠權', '衣月桂', '閆雨華']
};
//求人數最多的班級
let gradeOne_new = []
for(let i in gradeOne){
let obj = {
"key": i,
"data": gradeOne[i],
"length": gradeOne[i].length
}
gradeOne_new.push(obj);
}
//最大值
let max = gradeOne_new.sort( (a,b) => a.length < b.length)[0];
⑷ js判斷是否在數組中
js判斷某個給定值是否在數組中的方法:
functionisInArray(arr,val){
vari,iLen;
if(!(arrinstanceofArray)||arr.length===0){
returnfalse;
}
if(typeofArray.prototype.indexOf==='function'){
return!!~arr.indexOf(val)
}
for(i=0,iLen=arr.length;i<iLen;i++){
if(val===arr[i]){
returntrue;
}
}
returnfalse;
}
isInArray([1,2,3,4,5],5);//true
isInArray([1,2,3,4,5],6);//false
isInArray([1,2,3,4,5],'5');//false
解釋:
arr instanceof Array判斷arr變數是否為數組,如果不是,則輸入參數有誤,返回false
arr.length === 0判斷數組長度是否為0,如果是0,則無論給出哪個值,都不在數組中,返回false
typeof Array.prototype.indexOf === 'function'用來判斷瀏覽器是否原生支持數組的indexOf方法,新版的瀏覽器都支持數組原生的indexOf,該函數用於獲取給定值在數組中的位置信息,如果存在返回首次出現的位置下標,不存在返回-1
arr.indexOf(val)使用原生的方法判斷val首次在arr中出現的下標,不存在返回-1
~為取反,只有在值為-1的時候,取反結果為0,其他情況都非零。
!!隱式轉換,轉為bool型,如果是0則轉換後為false,否則為true
後面用循環判斷數組每一個值與給定值是否完全相等(此處用===表示不僅數值相等,類型也要相等),如果相等返回true,否則循環結束後返回false
⑸ js:判斷某變數的值是否屬於某個數組(等於數組中的某個元素)的方法
js:判斷某變數的值是否屬於某個數組的方法實現如下:
functionfun(param,value)
{
varlen=param.length;
for(vari=0;i<len;i++)
{
if(param[i]==value)
returntrue;
}
returnfalse;
}