一、js獲取數組長度為什麼多一個0
在js中,數組是使用類似於對象的方式實現的,數組元素是通過鍵值對的方式進行存儲並訪問。當創建一個空數組時,數組的length屬性初始值為0。當我們向這個數組添加元素時,length屬性會隨之增加。而當我們刪除數組中的元素時,length屬性不會減少,因為它只記錄了數組的下標最大值(即長度),而不記錄具體有哪些下標。
二、js獲取數組長度的方法
獲取數組的長度是在js中非常常用的操作,下面是三種常見的方法:
1、直接使用數組對象的length屬性來獲取數組的長度,如下所示:
const arr = ['apple', 'banana', 'pear']; const len = arr.length; console.log(len); // 3
2、使用call/apply方法,將數組的slice方法綁定到類數組對象上,再通過獲取新數組的長度來得到原數組的長度:
const arr = ['apple', 'banana', 'pear']; const len = Array.prototype.slice.call(arr).length; console.log(len); // 3
3、使用for循環遍歷整個數組,累加元素的個數來得到數組的長度:
const arr = ['apple', 'banana', 'pear']; let len = 0; for(let i = 0; i < arr.length; i++) { len++; } console.log(len); // 3
三、獲取數組長度的方法
在ES6中,我們還可以通過使用展開運算符(Spread Operator)或使用Array.from方法來獲取數組的長度:
1、使用展開運算符:
const arr = ['apple', 'banana', 'pear']; const len = [...arr].length; console.log(len); // 3
2、使用Array.from方法:
const arr = ['apple', 'banana', 'pear']; const len = Array.from(arr).length; console.log(len); // 3
四、js獲取數組長度的一半
獲取數組長度的一半,我們可以使用以下代碼:
const arr = [1, 2, 3, 4, 5, 6]; const len = arr.length; const half = Math.floor(len / 2); console.log(half); // 3
五、獲取數組長度的方式
在ES6中,我們還可以使用字元串的解構賦值來獲取數組的長度:
const arr = ['apple', 'banana', 'pear']; const {length: len} = arr; console.log(len); // 3
六、js數組長度怎麼計算
在js中,數組的長度是通過記錄下標的最大值加1來計算的。因為js的數組下標是從0開始的,所以我們可以通過遍曆數組來獲取最大下標,然後將其加1即可得到數組的長度:
const arr = ['apple', 'banana', 'pear']; let maxIndex = -1; for(let i in arr) { if(arr.hasOwnProperty(i)) { maxIndex = Math.max(maxIndex, parseInt(i)); } } const len = maxIndex + 1; console.log(len); // 3
七、js 輸出數組的長度
輸出數組的長度可以使用console.log方法,在上面的例子中已經多次出現了,這裡不再贅述。
八、js獲取對象長度
上面的例子都是針對數組的長度,如果想要獲取對象的長度,我們可以使用Object.keys方法,將對象的鍵值以數組的形式返回,再獲取該數組的長度即可:
const obj = { name: 'Tom', age: 18, sex: 'male' }; const len = Object.keys(obj).length; console.log(len); // 3
以上就是js獲取數組長度相關的內容,我們可以根據不同的需求,選擇不同的方法來獲取數組的長度。
原創文章,作者:YOLV,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/138648.html