2016-07-05 3 views
3

자바 스크립트 배열의 모든 요소를 ​​무효화하는 가장 효율적인 방법은 무엇입니까?자바 스크립트 배열의 모든 요소를 ​​무효화하는 방법

예를 들어,이 솔루션은 내가이 필요 배열 그 값 중 하나가 포함되어 있지 않기 때문에이 솔루션은, NaN이/널/정의를있는 모든 값을 처리 할 필요가 없다 [0, 18, -1, -2, 1, 3]

[0, -18, 1, 2, -1, -3]에 변환 할 것이다. 여기

내가 일반적으로 (배열 array으로) 할 것입니다 :

for(var i = 0; i < array.length; i++) { 
    array[i]*=-1 
} 

문제는 내가 여러 장소에서이 배열을 반전하기 때문에 많은 코드를 재사용하지 않으 필요가있다. 각 값의 음수를 반환 array.map

감사

+2

당신은 무엇을하려고 했습니까? 적어도 시도를하고 그 시도를 처음부터하는 법을 묻는 것보다 어렵게해서는 안된다. – charlietfl

답변

5

. 보다 짧은 구문을 위해 화살표 함수에 추가.

var negatedArray = array.map(value => -value); 
+3

좋은 접근 방식이지만'-0'을 준다. – choz

+0

-0은 0과 다릅니다. – user31415

+1

아니요 .. – choz

1

부정 자바 스크립트 배열

당신 만 양수를 부정하는 언급하는 생각의 모든 요소.

var _myArray = [0, 18, -1, -2, 1, 3] 
var _invArray = []; 
_myArray.forEach(function(item){ 
    item >0 ?(_invArray.push(item*(-1))) :(_invArray.push(item)) 
}) 
console.log(_invArray); 

JSFIDDLE

+0

아니지만 좋은 해결책. '_invArray.push (-Math.abs (item))'도 내가 원했던 것이라면 효과가있었습니다. – user31415

관련 문제