js获取数组长度,对象成员个数字、符串字数

文章来源:百度文库

Javascript怎么得到数组长度(也就是数组的元素个数)?

Javascript怎么获取对象的成员个数?

你肯定想到了array.length!? 那么我们来测试一下下面这个例子.

<script type="text/javascript">

var a = [];

a[50] = 50;

alert(a.length);

</script>

请问数组a有多少个元素, 或者换一句话说, 数组a的长度为多少?

你会告诉我长度为1, 但浏览器会告诉你a.length为51. 有点意思吧?

那我们再看一个例子.

<script type="text/javascript">

var a = [];

a[‘age‘] = ‘18‘;

a[‘sex‘] = ‘Male‘;
a[‘site‘] = ‘http://www.qSyz.net‘;

alert(a.length);

</script>

请问数组a有多少个元素, 或者换一句话说, 数组a的长度为多少?

我们都知道现在数组a的元素个数为3个,但浏览器会告诉你a.length为0 !!

js怎么获取对象的成员个数? 用length属性吗?

<script type="text/javascript">
var a = {‘age‘:30,‘sex‘:‘male‘};

alert(a.length);

</script>

以上代码得到结果为undefined!

综上所述,length不可靠,要想准确获取js数组元素个数或者对象的成员个数,我们需要自己动手写一个函数.

如果传入数组则计算数组长度,如果传入对象则计算对象成员数,如果传入字符串则计算字符串的字数.其他类型返回false

<script type="text/javascript">

function count(o){
var t = typeof o;

if(t == ‘string‘){
return o.length;

}else if(t == ‘object‘){

var n = 0;

for(var i in o){

n++;

}

return n;
}
return false;

}

</script>

现在在测试一下刚才的例子?

<script type="text/javascript">

var a = [];

a[50] = 50;

alert(count(a));

</script>

得到结果为2

<script type="text/javascript">

var a = [];

a[‘age‘] = ‘18‘;

a[‘sex‘] = ‘Male‘;
a[‘site‘] = ‘http://www.qSyz.net‘;

alert(count(a));

</script>

得到结果为3.

<script type="text/javascript">
var a = {‘age‘:30,‘sex‘:‘male‘};

alert(count(a));

</script>

得到结果为2

时间: 2024-12-28 11:45:24

js获取数组长度,对象成员个数字、符串字数的相关文章

什么情况下使用break关键字? 什么情况下使用Continue关键字? Java如何声明一个数组?JS如何声明一个数组?如何获取数组长度? 如何遍历数组?

什么情况下使用break关键字?什么情况下使用Continue关键字? Break Break关键用于终止循环. 示例: 1 2 3 4 5 6 for (int i = 0; i < 10; i++) {   if (i == 4) {     break; //终止循环,后面的循环不再执行   }   System.out.println(i); } Continue Continue关键字用于终止本次循环,其它循环继续. 示例: 1 2 3 4 5 6 7 for (int i = 0;

js获取input长度并根据页面宽度设置大小

1. js获取页面宽度高度及屏幕分辨率 网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) 网页正文全文宽:document.body.scrollWidth 网页正文全文高:document.body.scrollHeight 网页被卷去

c/c++ 获取数组长度

在C/C++中并没有提供直接获取数组长度的函数 c/c++ 获取数组长度其中一种方法是使用sizeof(array) / sizeof(array[0]). 在C语言中习惯上在使用时都把它定义成一个宏,比如: #define GET_ARRAY_LEN(array,len) {len = (sizeof(array) / sizeof(array[0]));} 而在C++中则可以使用模板技术定义一个函数,比如: template <class T>int getArrayLen(T&

通过模板获取数组长度

通常在代码中我们需要获取数组长度 一种比较简单的方式是使用 sizeof 操作符 如下: #define SizeOfArray(arr) (sizeof(arr)/sizeof((arr)[0])) //这样使用没有问题 int a[10] = {0}; int size = SizeOfArray(a); 但是如果传入的是指针 调用SizeOfArray就会出错或者得到不正确的结果 通常情况下如果传入的是指针指向的数组 我们希望编译器在编译的时候就能提示错误 因此提供下面这个版本 使用了c+

js中数组与对象的遍历

数组遍历: 1.js基本的for遍历 2.jquery提供的each函数 ----------------------------------- $.each(array, function(){ alert(this); }); ----------------------------------- 对象遍历: js: --------------------------------------------- for (var k in obj) { alert(obj[k]): } jque

数组方法总结 常用数组方法总结 js的数组或对象常用方法总结

js常用数据类型的方法使用归纳 * String---->是一个对象    * 字符串可以看成是字符组成的数组,但是js中没有字符类型 * 字符是一个一个的,在别的语言中字符用一对单引号括起来 * 在js中字符串可以使用单引号也可以使用双引号 * 因为字符串可以看成是数组,所以,可以通过for循环进行遍历 * 字符串特性:不可变性,字符串的值是不能改变 * 字符串的值之所以看起来是改变的,那是因为指向改变了,并不是真的值改变了 * 字符串的常用属性:     * .length------>字

js中数组,对象,json区别

对于js新手,这是我这周项目总结.包括数组,对象,json区别,以及前后台数据传输 数组:批量存放数据的工具,包括取值,数组的各种操作,[ ]在js中只表示数组,或者访问对象的属性,昨天还碰到了将值转化为数组,进行json字符转转化的例子.下面会给出具体例子 var arrData=["1","2","3']; var arrData=new Array(); var paramvo=[task_id];// 定义数组paramvo,值为[9999],方便

js 获取数组最后一个元素

javascript获取数组最后一个元素,js获取Array末尾元素 一.JavaScript pop() 方法 pop() 方法用于删除并返回数组的最后一个元素. var arr = new Array("js","JavaScript","jQuery"); var end = arr.pop() console.log(end);//jQuery console.log(arr);//["js", "JavaS

C++获取数组长度

1.获取字符数组长度 char a[]="abcdef"; int length1=sizeof(a)/sizeof(a[0]); cout<<"a"<<length1<<endl; length1为7. cout<<"a"<<strlen(a)<<endl; 输出6 注:string不能用strlen函数 2.获取字符串string长度 #include <strin