计算数组中的距离 strings/number
count distance strings/number in arrays
我正试图得到你的帮助来找到这个逻辑,我怎样才能计算到数组中目标的距离
假设我有一个数组
let arr = ["a", "b", "c", "d", "x" , "z" ]
我想计算 "b" 到 "x" 的距离?
如果那个数组也有空字符串怎么样?
like ["a", "b", "c", " ", "d", "x" , "z" ]
let input = ["a", "b", "c", " ", "d", "x" , "z" ]
function findDistance(source, target){
return Math.abs(input.indexOf(target) - input.indexOf(source))
}
console.log(findDistance('b','x'))
将数组用作无限数组的不同方法。
function findDistance(array, a, b){
var delta = array.indexOf(a) - array.indexOf(b);
return Math.min(
Math.abs(delta),
Math.abs(delta + array.length),
Math.abs(delta - array.length)
);
}
let input = ["a", "b", "c", " ", "d", "x" , "z"];
// ^ ^
// 1 5 |1 - 5| -> 4
// 1 5 |1 - 5 + 7| -> 3 <==
// 1 5 |1 - 5 - 7| -> -11
console.log(findDistance(input, 'b', 'x'));
console.log(findDistance(input, 'x', 'b'));
我正试图得到你的帮助来找到这个逻辑,我怎样才能计算到数组中目标的距离
假设我有一个数组
let arr = ["a", "b", "c", "d", "x" , "z" ]
我想计算 "b" 到 "x" 的距离? 如果那个数组也有空字符串怎么样?
like ["a", "b", "c", " ", "d", "x" , "z" ]
let input = ["a", "b", "c", " ", "d", "x" , "z" ]
function findDistance(source, target){
return Math.abs(input.indexOf(target) - input.indexOf(source))
}
console.log(findDistance('b','x'))
将数组用作无限数组的不同方法。
function findDistance(array, a, b){
var delta = array.indexOf(a) - array.indexOf(b);
return Math.min(
Math.abs(delta),
Math.abs(delta + array.length),
Math.abs(delta - array.length)
);
}
let input = ["a", "b", "c", " ", "d", "x" , "z"];
// ^ ^
// 1 5 |1 - 5| -> 4
// 1 5 |1 - 5 + 7| -> 3 <==
// 1 5 |1 - 5 - 7| -> -11
console.log(findDistance(input, 'b', 'x'));
console.log(findDistance(input, 'x', 'b'));