2017-12-15 1 views
-3

Angenommen, mein Array ist a = [-62,345,10], also muss ich den Unterschied von 0 und -62 und diff von -62 und 345 finden und dann 345 und 10 usw.. Wie macht man das ?Finden Sie den Unterschied zwischen Elementen des Arrays?

+1

Das ist nicht sehr kompliziert zu schreiben, was hast du bisher probiert? Und was genau ist die gewünschte Ausgabe? Eine Reihe der Unterschiede? –

+0

'Array [0] = - 62; Array [1] = 345; Array [2] = 10; ', willst du das oder? 'resultarray [0] = Array [0] -Array [1]; resultarray [1] = array [1] -array [2] ' –

+0

Bitte fügen Sie das gewünschte Ergebnis und was Sie versucht haben. –

Antwort

2

Sie könnten die Differenz zuordnen und einen Standardwert für nicht angegebene Werte verwenden.

var array = [-62, 345, 10], 
 
    deltas = array.map((v, i, a) => v - (a[i - 1] || 0)); 
 
    
 
console.log(deltas);

0

versuchen diese

a = [-62, 345, 10]; 
 
j = 0; 
 
for (var i = 0; i < a.length; i++) { 
 

 
    console.log(j - a[i]); 
 
    j = a[i]; 
 
}

-1

Sie [0] mit Ihrem Array verketten könnte und es dann gerne Karte:

var arr = [-62,345,10] 
 

 
var newArr = [0].concat(arr).slice(0, -1).map(function(elem, i) { 
 
    return arr[i] - elem; 
 
}) 
 

 
console.log(newArr)

+0

345 - 10 == -335? –

+0

10 - 345 = -335 –

0

können Sie array#map verwenden. Für den ersten Indexwert subtrahieren Sie von 0 und für andere Indizes subtrahieren Sie von der vorherigen Zahl.

var a = [-62,345,10]; 
 
var result = a.map((n, i, a) => i ? n - a[i-1] : 0 - n); 
 
console.log(result);

0

var a = [-62,345,10]; 
 
var result = a.map(function(v, i, a){ 
 
\t return (i==0 ? 0 : a[i-1]) - a[i]; 
 
}); 
 

 
console.log(result);

Hier gehen Sie! :)

Verwandte Themen