是否有更容易的方法来获得向后的数组的前9个?
var backwards=['s','d','r','a','w','k','c','a','B','s','I','y','a','r','r','A','y','M'];
f=backwards.slice(0);
f=f.slice(0,9);//front
f.reverse();
console.log(f.join()); //returns 'B,a,c,k,w,a,r,d,s'
这种方式简直令人困惑!
答案 0 :(得分:9)
是的,您可以在一个声明中完成:
backwards.slice(0,9).reverse().join()
答案 1 :(得分:3)
更简单:
backwards.reverse().slice(-9);
alert(['s','d','r','a','w','k','c','a','B','s','I','y','a','r','r','A','y','M'].reverse().slice(-9).join(''));

答案 2 :(得分:1)
小心开头的反转也会改变你原来的数组
var words = backwards.reverse().slice(-9).join('');
console.log(backwards[0] === 's'); // false
首先切片将创建一个新数组并保留原始
var words = backwards.slice(0,9).reverse().join()
console.log(backwards[0] === 's'); // true
答案 3 :(得分:0)
另一种方法是:
var backwards = ['s','d','r','a','w','k','c','a','B','s','I','y','a','r','r','A','y','M'];
var f = [];
for (var i=8; i>0; i--) {
f.push(backward[i]);
}
// f = ['B', 'a', 'c', 'k', 'w', 'a', 'r', 'd', 's']