js删除数组中间数字后续数字自减一实现代码如下:
/**
* @param {number[]} arr - 原数组
* @param {number} deleteIndex - 要删除的位置
* @param {number} howMany - 删除多少个,注意,如果删除多个,后面就算自减一,整个数组也不会是连续的
* @return {number[]} 结果返回删除后自减一的数组
*/
function deleteAndReset(arr,deleteIndex,howMany=1){
if(!arr || arr.length==0){
return []
}
let temp = arr.slice() // 浅拷贝数组
temp.splice(deleteIndex,howMany) // 删除指定位置指定个数
let front = temp.slice(0,deleteIndex) // 索引的前段
let end = temp.slice(deleteIndex) // 索引的后段
if(end.length>0){ // 如果后半部分有值,则所有元素自减1
return front.concat(end.map(v=>v-1)) // @下文标记处
}
return front // 如果后半部分为空,说明删的是末尾,直接返回前段即可
}
演示结果如下:
输入:deleteAndReset([1,2,3,4,5,6],1,1)
返回:[1, 2, 3, 4, 5]
输入:deleteAndReset([1,2,3,4,5,6],1,2)
返回:[1, 3, 4, 5]
因为后者删的是2个,索引自减一,也不会使数组连续,根据题目要求,如果只是自减一可以不用管。
如果要删除多个数组仍然要连续,只需要修改代码注释@标记处,起始值改为删除的第一个数字即可,后续仍然是自减一。
如有疑问,欢迎追问!
_time.getHours() + 100这里得到的数字
+ ""
是把这个数字转换成字符
才能执行
substr
否则会出错
jquery实现立体式数字滚动条增加效果,代码分为两部分,一部分位html结构另一部分属于js代码段,需要的朋友参考下吧!1、html结构
<div class="numberRun1"></div>
2、js
<script type="text/javascript" src="js/digital_over.js" ></script>//引用 //这是自定义函数(需要在页面中进行调用) <script> //数字滚动function digitalScroll(obj,n){ var numRun = $(obj).numberAnimate({num:n, speed:2000, symbol:","}) var nums = n setInterval(function(){numRun.resetData(nums) },3000) var numWidth= $(obj).width() $(obj).find('.mt-number-animate').css('width',numWidth) $(obj).css('width','100%') $(obj).find('.mt-number-animate').css('margin','0 auto') }window.indexdigitalScroll=function(){ digitalScroll($('.numberRun1'),1160518) } </script> <!--这是在页面中调用的方法--> <script> $(function(){ indexdigitalScroll() }) </script>
3、图片案例