首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

小弟我有一个数组,怎么依据这样的条件再重新生成一个数组

2012-08-26 
我有一个数组,如何依据这样的条件再重新生成一个数组?旧数组的长度不定,现在的新数组要求,数组长度固定为7

我有一个数组,如何依据这样的条件再重新生成一个数组?
旧数组的长度不定,现在的新数组要求,数组长度固定为7,如果旧数组小于等于7,那就内容不变,如果大于7,那么旧数组的最小下标与最大下标必须在新数组中,并且位置不变,那另外5个数据,需要从旧数组中,按均分等阶(不需要绝对均分)来显示,这个要如何实现呢?

例 [23][43][56][78][21][32][99][321][33][1][8][99][3]生成新数组内容为:

[23][56][21][99][33][8][3]

[解决办法]
你自己都写出来了,就不会自己写么。。这里唯一需要考虑的就是一个问题了
按均分等阶(不需要绝对均分) 这个具体如何解释
[解决办法]
function getNewArr(){
var oldArr=[1,2,3,4,5,6,7,8,9,10,11,12,13];
var newArr=new Array();
if(oldArr.length<=7) return oldArr;
newArr.push(oldArr[0]);
var spac=parseInt((oldArr.length-2)/5);
for(var i=0;i<oldArr.length-1;i+=spac)
{
newArr.push(oldArr[i]);
}
newArr.push(oldArr.length-1);
return newArr;
}

热点排行
Bad Request.