js查找数组


js查找数组中与目标值最相近的数值

绝对值

例子: arr=[25,28,32,35]

num=30;

那么返回的离得最大值32;

 

function findCloseNum(arr, num) {
var index = 0; // 保存最接近数值在数组中的索引
var d_value = Number.MAX_VALUE; // 保存差值绝对值,默认为最大数值

for (var i = 0; i < arr.length; i++) {
var new_d_value = Math.abs(arr[i] - num); // 新差值

if (new_d_value <= d_value) { // 如果新差值绝对值小于等于旧差值绝对值,保存新差值绝对值和索引
if (new_d_value === d_value && arr[i] < arr[index]) { // 如果数组中两个数值跟目标数值差值一样,取大
continue;
}
index = i;
d_value = new_d_value;
}
}
return arr[index]; // 返回最接近的数值
}

 

js查找数组中获取最大值


function getMax(arr) {
//假设最大值max 为arr[0]
var max = arr[0];
//遍历对比
for (var i = 0; i < arr.length; i++) {
//若max小于当前项 说明不是最大值 将当前项的值赋予max
// 继续遍历对比找到最大的值
if (max < arr[i]) {
max = arr[i];
}
}
return max;
}

js查找数组中获取最小值

function getMin(arr) {
var min = arr[0];
for (var i = 0; i < arr.length; i++) {
if (min > arr[i]) {
min = arr[i];
}
}

return min;
}

js查找数组中获取最大值的数值的下标

function getMaxIndex(arr) {
var max = arr[0];
//声明了个变量 保存下标值
var index = 0;
for (var i = 0; i < arr.length; i++) {
if (max < arr[i]) {
max = arr[i];
index = i;
}
}
return index;
}

js查找数组中获取最小值的数值的下标

function getMinIndex(arr) {
var min = arr[0];
//声明了个变量 保存下标值
var index = 0;
for (var i = 0; i < arr.length; i++) {
if (min > arr[i]) {
min = arr[i];
index = i;
}
}
return index;
}

 

 $.inArray(5,[1,2,3,4,5,6,7]) //返回对应的索引

 Array.indexOf(4)//判断是否包含某个元素,没有则返回-1

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM