该算法题来自于 codewars【语言: javascript】,翻译如有误差,敬请谅解~
- 任务
- 给定一组数字,返回每个数字的反转值。将每个正数都转成负数,负数转成正数。
- 例如:
invert([1,2,3,4,5]) == [-1,-2,-3,-4,-5]
invert([1,-2,3,-4,5]) == [-1,2,-3,4,-5]
invert([]) == []
- 解答【如解答有误,欢迎留言指正~】
- 其一
const invert = (array) => {
return array.map((el,index) => {
return !el ? el : -el;
});
}
- 其二
function invert(array) {
return array.map( x => x === 0 ? x : -x);
}
- 其三
function invert(array) {
return array.map(n => n && -n)
}
- 其四
function invert(array) {
return array.map(v => 0 - v);
}
- 其五
function invert(array) {
return array.map(v => ~v+1);
}
- 其六
const invert = array => array.map(n => ~~-n);