这两者之间有什么区别?

我知道array。size()是一个函数,而数组。长度是一个属性。是否存在使用其中一种而不是另一种的情况?一个更有效率吗?(我想.length会快得多,因为它是一个属性而不是一个方法调用?)为什么人们会选择更慢的选择呢?是否有一些浏览器与其中一种不兼容?

  var x = [];
  console.log(x.size());
  console.log(x.length);
  console.log(x.size()==x.length);
  x =[1,2,3];
  console.log(x.size());
  console.log(x.length);
  console.log(x.size()==x.length);

将打印:

  0, 0, true
  3, 3, true

当前回答

我们可以使用.length属性来设置或返回数组中的元素个数。返回值是一个数字

> set the length: let count = myArray.length;
> return lengthof an array : myArray.length

如果我们需要过滤重复的值并获得集合中元素的计数,我们可以使用.size。

Const set = new set([1,1,2,1]); console.log (set.size);“

其他回答

数组中。Length不一定是数组中元素的个数:

var a = ['car1', 'car2', 'car3'];
a[100] = 'car100';
a.length; // 101

数组的长度比最高下标大1。

如前所述,Array.size()不是一个有效的方法。

更多的信息

属性'length'对于具有数字键的数组返回(last_key + 1):

var  nums  =  new  Array();
nums [ 10 ]  =  10 ; 
nums [ 11 ]  =  11 ;
log.info( nums.length );

将打印12!

这是可行的:

var  nums  =  new  Array();
nums [ 10 ]  =  10 ; 
nums [ 11 ]  =  11 ;
nums [ 12 ]  =  12 ;
log.info( nums.length + '  /  '+ Object.keys(nums).length );

我们可以使用.length属性来设置或返回数组中的元素个数。返回值是一个数字

> set the length: let count = myArray.length;
> return lengthof an array : myArray.length

如果我们需要过滤重复的值并获得集合中元素的计数,我们可以使用.size。

Const set = new set([1,1,2,1]); console.log (set.size);“

.size()不是Array的原生JS函数(至少在我所知道的任何浏览器中都不是)。

.length应该使用。


If

.size()可以在你的页面上工作,确保你没有包含任何额外的库,比如prototype,它会破坏Array原型。

or

在你的浏览器中可能有一些插件在干扰数组原型。

.size()方法从jQuery 1.8开始已弃用。请使用.length属性

参见:https://api.jquery.com/size/