Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript의 음수가 아닌 집합 빼기


정수 집합과 집합 합계에서 빼야 하는 값이 있습니다.

여기처럼

[4, 5, 6, 7, 8] − 25

모든 숫자에서 균등하게 빼면 -

[−1, 0, 1, 2, 3]

그러나 0보다 작은 숫자는 원하지 않습니다.

따라서 이를 수행하는 알고리즘을 작성하는 경우 음수는 나머지 숫자로 동일하게 오버플로되며 이제 -

[0, 0, 1, 2, 3] − 1

결과 집합 만들기 -

[0, 0, 1 - 0.333, 2 - 0.333, 3 - 0.333]

이것이 바로 우리가 원하는 결과입니다.

모든 음수 값은 나머지 양수 값으로 균등하게 오버플로됩니다.

숫자 배열을 첫 번째 인수로, 합계를 두 번째 인수로 취하는 JavaScript 함수를 작성해야 합니다.

그런 다음 함수는 균등하게 빼서 분포된 배열을 계산하고 반환해야 합니다.

예시

이에 대한 코드는 -

const arr =[4, 5, 6, 7, 8]; const 빼기 =(arr, sum) => { return arr.map((el, index, array) => { const rem =array.length - 인덱스 const avg =합계 / rem, const toSubtract =Math.min(avg, el), 합계 −=toSubtract, return el − toSubtract, });};console.log(subtract(arr, 25)); 

출력

콘솔의 출력은 -

[ 0, 0, 0.666666666666667, 1.666666666666666, 2.666666666666666 ]