⑴ 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;
}