我是 JavaScript 新手。請幫忙。
我在玩這個方法——console.log。這是我所做的:
let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Neapolitan", "Mint Chip"];
delete iceCreamFlavors[iceCreamFlavors.length-1];
console.log(iceCreamFlavors[length-1])
控制臺回來了
undefined
如果我做:
console.log(iceCreamFlavors[5])
列印沒有問題
Mint Chip
但如果我這樣做:
console.log(iceCreamFlavors[-1])
它回來了
undefined
所以我的問題是為什么 console.log 不能按倒序使用索引號?也許現實中沒有太大用處,但我只是好奇。
uj5u.com熱心網友回復:
delete關鍵字用于洗掉Object屬性而不是陣列元素,洗掉陣列元素使用Array.prototype.filter()或Array.prototype.splice()
Splice 將修改原始陣列,而 filter 將回傳一個新陣列,該陣列通過回呼中指定的條件。
let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Neapolitan", "Mint Chip"];
iceCreamFlavors.splice(5, 1);
console.log(iceCreamFlavors);
let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Neapolitan", "Mint Chip"];
const filter = iceCreamFlavors.filter(x => x != 'Mint Chip');
console.log(filter);
注意:您可以使用 訪問陣列元素array[index],索引的范圍為0 to array.length - 1。陣列從 0 索引開始,這意味著第一個元素的索引為 0,第二個元素的索引為 1,以此類推
let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Neapolitan", "Mint Chip"];
iceCreamFlavors.splice(5, 1);
console.log(iceCreamFlavors.length); // array length
console.log(iceCreamFlavors[iceCreamFlavors.length - 1]); // last element
console.log(iceCreamFlavors[0]); // first element
在陣列中洗掉與拼接
delete 不會改變長度或重新索引陣列,給定的元素被洗掉但它顯示為 undefined
splice 將完全洗掉元素,同時改變長度并重新索引元素
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/342703.html
標籤:javascript 数组 索引 控制台日志
上一篇:只有兩個引數的快速排序
下一篇:如何列印樹的所有節點數
