#javascript #jquery
#javascript #jquery
Вопрос:
Всем привет,
В моем js-файле я получаю массив записей (отрицательных значений), подобный этому
deletedDetailIds = $.map(eformDetailIds, function(e) { return e < 0 ? e : null; });
Например, deletedDetailIds = -1234,-1235,-1256 вот так.
Теперь я должен создать массив и добавить эти значения без отрицательных символов. Нравится
newArray = 1234,1235,1256.
Пожалуйста, помогите мне в этом
Ответ №1:
Правильным способом было бы использовать Math.abs
:
$.map(eformDetailIds, function(e) {
return e < 0 ? Math.abs(e) : null;
});
Вы также могли бы умножить на -1
.
Вы имеете дело с числами. Только строковое представление содержит -
для обозначения отрицательного значения, поэтому вы не можете удалить первый символ здесь.
Ответ №2:
Простое решение — умножить значения на -1, которые для вас составляют значение
пример
var a = -12345 * -1;
a = 12345;
Комментарии:
1. Хотя это правильное решение, лучше использовать Math.abs или, по крайней мере, иметь условную проверку, чтобы случайно не отрицать положительное значение. Да, это не было частью спецификаций, но вы никогда не знаете, какая сумасшедшая чушь может случиться.
2. ну, в соответствии с операцией, которую он получает — значения … это y его требуется умножить на -1 внимательно прочитайте вопрос
3. Я знаю, я признал этот факт в «Да, это не было частью спецификаций, но вы никогда не знаете, какая сумасшедшая чушь может случиться». Даже если из-за вопроса проверка не кажется необходимой, это все равно хорошая практика.
Ответ №3:
попробуйте это:
deletedDetailIds = $.map(eformDetailIds, function(e) { return e < 0 ? Math.abs(e) : null; });
Ответ №4:
Это то, что вы ищете?
deletedDetailIds = $.map(eformDetailIds, function(e) {
return e < 0 ? Math.abs(e) : null;
})
Ответ №5:
если вы готовы заменить символ ve, то,
deletedDetailIds.replace(/-/g, "");
Ответ №6:
Используйте abs:
Итак, Math.abs (число)
Где number будет отрицательным числом
Ответ №7:
Попробуйте это
deletedDetailIds = $.map(eformDetailIds, function(e) { return e < 0 ? e : null; });
var total = 0;
$.each(deletedDetailIds, function(a, b){
total = Math.abs(b)
});
Ответ №8:
var deletedDetailIds = $.map(eformDetailIds,
function(item) { return item < 0 ? -item : null; }
);
Ответ №9:
Используйте функцию Math.abs:
$.map(eformDetailIds, function(e) {
return e amp;amp; e < 0 ? Math.abs(e) : 0;
});
Больше информации здесь