<template> <div></div> </template> <script> export default { data() { return { arr: [1, 56, 544, 2, 46, 98, 5, 7, 45] }; }, created() { console.log(this.lookup(this.arr, 0)); }, methods: { lookup(array, value) { // 将原数组复制,不会影响原数组 let arr = array.concat([]); arr.push(value); // 数据排序 arr.sort((a, b) => { return a - b; }); let index = arr.indexOf(value); // 当前项在数组第一项 / 最后一项,返回当前项的后一项 / 前一项 if (index === 0) { return arr[index + 1]; } else if (index === array.length - 1) { return arr[index - 1]; } // 当前项和前一项或者后一项比较,返回差值小的项 let resultIndex = arr[index] - arr[index - 1] > arr[index + 1] - arr[index] ? index + 1 : index - 1; return arr[resultIndex]; } } }; </script>
来源:51CTO
作者:诗人的猫咪
链接:https://blog.csdn.net/weixin_43233914/article/details/100739199