美文网首页
js从数组中取第n个数前后的m个数

js从数组中取第n个数前后的m个数

作者: 独享奢华 | 来源:发表于2019-08-09 18:32 被阅读0次

js从一个数组中取n个数,从第n个数开始,与之相邻的前和后各取一半;若前面不够一半时,从后面补上,若后面不够一半时,从前面补上。

<html>
<body>

<script type="text/javascript">

var index = 15
var howmany = 10
var start = 0
var end = start + howmany
var arr = '1234567890abcde67890'
var length = arr.length
var half = howmany / 2
var diffBefore = index - half // 当前项往前推N个数
var diffAfter = length - (index + half) // 当前项往后推N个数

if(diffBefore < 0) {
// 当前项小于要取的数量的一半
  start = 0
} else {
  start = diffBefore
  end = index + half
}

if(diffAfter < 0) {
  start = diffBefore + diffAfter
}

document.write(arr + "<br />")
document.write(arr.slice(start, end) + "<br />")

</script>

</body>
</html>

输出结果

1234567890abcde67890
abcde67890

相关文章

网友评论

      本文标题:js从数组中取第n个数前后的m个数

      本文链接:https://www.haomeiwen.com/subject/ynfkjctx.html