获取向后的数组的前9个

时间:2014-09-29 15:23:50

标签: javascript arrays

是否有更容易的方法来获得向后的数组的前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'

这种方式简直令人困惑!

4 个答案:

答案 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']