javascript - 增加数组中元素的值
问题描述
说我有一个这样的数组......
let myArr = [0,0,2,0,0];
我想创建一种涟漪效应,使得数组的结果是[0,1,2,1,0]
解决方案
这会给你你期望的结果:
let myArr = [0, 0, 2, 0, 0];
createRippleArray = (myArr) => {
if (myArr.length % 2 === 0) {
console.error("createRippleArray: Array length needs to be odd number>1");
return [];
}
let midIndex = ~~(myArr.length / 2);
let mid = myArr[midIndex];
return myArr.map((e, i) => {
let res;
if (i < midIndex) {
return ~~(mid / Math.abs(midIndex - i + 1));
} else if (i === midIndex) {
return mid;
} else if (i > midIndex) {
return ~~(mid / Math.abs(midIndex - i - 1));
}
});
}
console.log(createRippleArray(myArr));
希望这可以帮助!
推荐阅读
- python - 如何找到矩阵中的具体分数?
- spring - 骆驼升级到 3.1.0 weblogic 12c 后出现错误:java.lang.IllegalStateException:未指定默认配置
- elasticsearch - 出现“尝试通过 3 次重新连接尝试重新连接到回退(elasticsearch(http://localhost:9200))”错误
- javascript - 发布请求,返回未定义,NodeJS,Express
- javascript - 如何填充动态表单字段值?
- java - Java 流比较来自两个流的对象并创建新对象
- reactjs - Camunda:如何使用 ReactJS fetch 部署进程
- laravel-7 - 将作曲家安装到 Laravel 7 时出现问题
- python - Pyodbc:插入时出现 SQLExecDirectW 错误
- redux - 使用 redux 从库组件访问主机存储