Javascript 对数组内的值进行平均以平滑图形线
我有一个Javascript 对数组内的值进行平均以平滑图形线,javascript,arrays,sorting,Javascript,Arrays,Sorting,我有一个数组,它用不同的值表示图形的点,如下所示: var array = [5, 3, 4, 1, 2]; 我想循环遍历它并创建一个新数组,其中新值为: 前一个值和后一个值之间的平均值 放在现有的中间 这意味着数组[0]将保持在相同的位置,而其他值将被推到一个位置。新阵列应如下所示: var newArray = [5, 4, 3, 3.5, 4, 2.5, 1, 1.5, 2]; 你对如何实现这一目标有什么想法吗?提前感谢您的回复 var数组=[5,3,4,1,2]; var arr
数组
,它用不同的值表示图形的点,如下所示:
var array = [5, 3, 4, 1, 2];
我想循环遍历它并创建一个新数组,其中新值为:
- 前一个值和后一个值之间的平均值
- 放在现有的中间
数组[0]
将保持在相同的位置,而其他值将被推到一个位置。新阵列应如下所示:
var newArray = [5, 4, 3, 3.5, 4, 2.5, 1, 1.5, 2];
你对如何实现这一目标有什么想法吗?提前感谢您的回复 var数组=[5,3,4,1,2];
var array = [5, 3, 4, 1, 2];
var newArray = [];
newArray.push(array[0]);
for(var i=0; i < array.length-1; i++)
{
var first = array[i];
var second = array[i+1];
var avg = (first+second)/2;
newArray.push(avg);
newArray.push(second);
}
var newArray=[];
push(数组[0]);
对于(var i=0;i
您需要在原始数组中循环,将每个数字推送到新的数组中,如果您不在最后一个元素中,则获得
数组[i]
和数组[i+1]的平均值。
var array = [5, 3, 4, 1, 2];
var newArray = [];
for (var i = 0; i < array.length; i++)
{
newArray.push(array[i])
if (!isNaN(array[i+1]))
{
newArray.push((array[i] + array[i+1]) / 2)
}
}
var数组=[5,3,4,1,2];
var newArray=[];
对于(var i=0;i
var数组=[5,3,4,1,2];
var newArr=[array[0]];//从原始阵列的第一个阵列开始
array.reduce((a,b)=>{
新到达推力((a+b)/2,b);
返回b;
});
控制台日志(newArr)代码>或以功能性、无副作用的方式:
var array = [5, 3, 4, 1, 2];
var newArray = array.reduce((result, value, index, array) => result.concat(index > 0 && index < array.length ? [(array[index-1] + value)/2, value] : value), [])
var数组=[5,3,4,1,2];
var newArray=array.reduce((结果、值、索引、数组)=>result.concat(索引>0&&index
如果您可以修改原始阵列:
var数组=[5,3,4,1,2],
len=array.length*2-2;
对于(变量i=1;i console.log(数组)代码>请显示您已经完成的工作。代码最好。如果您在答案中找到解决方案,请确保将其标记为正确。
var array = [5, 3, 4, 1, 2];
var newArray = array.reduce((result, value, index, array) => result.concat(index > 0 && index < array.length ? [(array[index-1] + value)/2, value] : value), [])