Ответ 1
Да.
for(var i=0; i < arr.length; i++) {
arr[i] = arr[i].replace(/,/g, '');
}
У меня есть массив в javascript. Этот массив имеет строки, содержащие запятые ( "," ). Я хочу, чтобы все запятые были удалены из этого массива. Это можно сделать?
Да.
for(var i=0; i < arr.length; i++) {
arr[i] = arr[i].replace(/,/g, '');
}
Лучший способ в настоящее время - использовать функцию map()
следующим образом:
var resultArr = arr.map(function(x){return x.replace(/,/g, '');});
это стандарт ECMA-262. Если вы уроните его для более ранней версии, вы можете добавить этот фрагмент кода в свой проект:
if (!Array.prototype.map)
{
Array.prototype.map = function(fun /*, thisp*/)
{
var len = this.length;
if (typeof fun != "function")
throw new TypeError();
var res = new Array(len);
var thisp = arguments[1];
for (var i = 0; i < len; i++)
{
if (i in this)
res[i] = fun.call(thisp, this[i], i, this);
}
return res;
};
}
Вы можете просто сделать:
array = ["erf,","erfeer,rf","erfer"];
array = array.map(function(x){ return x.replace(/,/g,"") });
Теперь массив становится:
["erf", "erfeerrf", "erfer"]
Конечно - просто перебирайте массив и выполняйте стандартное удаление на каждой итерации.
Или если природа вашего массива разрешает, вы можете сначала преобразовать массив в строку, вынуть запятые, а затем преобразовать обратно в массив.
Вы также можете сделать в строке в более коротком синтаксисе
array = array.map(x => x.replace(/,/g,""));
Вы можете использовать array.map
или forEach
. Согласно нашему сценарию, array.map
создает или получает новый массив. forEach
позволяет вам манипулировать данными в уже существующем массиве. Сегодня я использовал это для меня.
document.addEventListener("DOMContentLoaded", () => {
// products service
const products = new Products();
// get producsts from API.
products
.getProducts()
.then(products => {
/*
raw output of data "SHEPPERD'S SALLAD" to "SHEPPERDS SALLAD"
so I want to get an output like this and just want the object
to affect the title proporties. other features should stay
the same as it came from the db.
*/
products.forEach(product => product.title = product.title.replace(/'/g,''));
Storage.saveProducts(products);
});
});
Учитывая требуемую строку в переменной s: -
var result = s.replace(/,/g, '');