[英]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.