每日一题(五九)var arr1 = ab.split()var arr2 = arr1.reverse()var arr3 = abc.split() arr2.push(a

写出代码执行的打印结果

var arr1 = "ab".split('');
var arr2 = arr1.reverse();
var arr3 = "abc".split('');
arr2.push(arr3);
console.log(arr1.length);
console.log(arr1.slice(-1));
console.log(arr2.length);
console.log(arr2.slice(-1));

答案:

3 ["a","b","c"] 3 ["a","b","c"]

解析:

主要考察数组的 reverse 方法返回的是该数组的引用。

1、reverse:该方法颠倒数组中元素的位置,改变了数组,并返回该数组的引用。

2、slice:slice 方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin 不包括 end)。原始数组不会改变。如果 begin 为负数,则表示从原数组中的倒数第几个元素开始提取,slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。如果省略 begin,则 slice 从索引 0 开始。如果 begin 大于原数组的长度,则会返回空数组。end 如果该参数为负数, 则它表示在原数组中的倒数第几个元素结束抽取。 slice(-2,-1) 表示抽取了原数组中的倒数第二个元素到最后一个元素(不包含最后一个元素,也就是只有倒数第二个元素)。如果 end 被省略,则 slice 会一直提取到原数组末尾。如果 end 大于数组的长度,slice 也会一直提取到原数组末尾。

猜你喜欢

转载自blog.csdn.net/MFWSCQ/article/details/106526084