RT:可以使用jQuery库,用一句(或是最简单的)JS代码,写出一个返回从1到n的一个数组的函数;
function(n){
……
}
function getArray(n){
if(typeof n !== 'number'){
throw new Error('n必须为数字');
}
var list = [];
for(var i =1;i<=n;i++){
list.push(i);
}
return list;
}
// 用jQuery
var arr1 = $(new Array(10)).map(i => i + 1)
// 不用jQuery,ES5才有 .map 方法
var arr2 = new Array(10).join('-').split('-').map((_, i) => i + 1)
// 看到@church的答案后发现还可以这样
var arr3 = [...Array(10)].map((_, i) => i + 1)
/*
注
a => x
(a, b, c) => x
相当于
function (a){ return x }
function (a, b, c){ return x }
*/
更多关于箭头函数的资料看这里JavaScript ES6箭头函数指南
function range(n) {
return Array.apply(null, Array(n)).map(function (_, i) {return i+1;});
}
range(5);
ES6版本:
function range(n) {
return [...Array(5).keys()].map((_, i) => i + 1);
}
range(5);
补充一个:
function range(n) {
return Array.from({length: n}, (_, i) => i + 1);
}
range(5);
我只是stackoverflow的搬运工 http://stackoverflow.com/ques...
在群里看到的,补充一个:
new Int8Array(10).map((n, i) => i + 1)
function arrayfill(n) {
return (new Array(n)).fill(0).map((n, i) => i + 1);
}