繁体   English   中英

为什么console.log不能用后序索引打印[-1]

[英]why can't console.log print with backward order index [-1]

我是 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 不能按倒序使用索引号? 也许现实中没有太大用处,但我只是好奇。

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

在数组中删除与拼接

删除不会改变长度或重新索引数组,给定的元素被删除但它显示为undefined

splice 将完全删除元素,同时改变长度并重新索引元素

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM