Обновление Javascript Значение атрибута объекта - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь обновить атрибут объекта:

   data : [
     {"id":1,"rp":"2426","cr":"11-11"},
     {"id":1,"rp":"1119","cr":"19-21"},
     {"id":1,"rp":"3453","cr":"23-81"}
    ]

новый объект будет обновлен, как показано ниже.

NewData: [
 {"id":1,"rp":"2426","cr":"11/11"},
 {"id":1,"rp":"1119","cr":"19/21"},
 {"id":1,"rp":"3453","cr":"23/81"}
]

Я ищу, чтобы обновить атрибут cr объекта для всех значенийНапример, используя метод javascript.replace (), я бы заменил ("-", "/").

Ответы [ 7 ]

0 голосов
/ 30 ноября 2018

Просто попробуйте ниже

data.forEach(function(object){
    object["cr"] = object["cr"].replace("-","/");
});
0 голосов
/ 30 ноября 2018

const data = [{"id":1,"rp":"2426","cr":"11-11"},{"id":1,"rp":"1119","cr":"19-21"},{"id":1,"rp":"3453","cr":"23-81"}]

const r = JSON.parse(JSON.stringify(data).replace(/-/g,'/'))
console.log(r);
0 голосов
/ 30 ноября 2018

Вы можете попробовать это

let data = [
     {"id":1,"rp":"2426","cr":"11-11"},
     {"id":1,"rp":"1119","cr":"19-21"},
     {"id":1,"rp":"3453","cr":"23-81"}
    ];
    
    
let newData = data.map(e=>{
  e.cr = e.cr.replace(/-/, '/')
  return e
})

console.log(newData)
0 голосов
/ 30 ноября 2018

Попробуйте это:

const data = [
  {"id":1,"rp":"2426","cr":"11-11"},
  {"id":1,"rp":"1119","cr":"19-21"},
  {"id":1,"rp":"3453","cr":"23-81"}
];

const newData = data.map(item => ({...item, cr: item.cr.replace(/-/g, '/')}));

console.log(newData);

Если вам это нужно для работы в IE11:

const data = [
  {"id":1,"rp":"2426","cr":"11-11"},
  {"id":1,"rp":"1119","cr":"19-21"},
  {"id":1,"rp":"3453","cr":"23-81"}
];

const newData = data.map(
  function(item) {
    return {
      id: item.id,
      rp: item.rp,
      cr: item.cr.replace(/-/g, '/')
    }
  }
);

console.log(newData);
0 голосов
/ 30 ноября 2018

Вы можете использовать метод map для создания нового массива и replace для обновления cr свойства.

var data = [{"id":1,"rp":"2426","cr":"11-11"},{"id":1,"rp":"1119","cr":"19-21"},{"id":1,"rp":"3453","cr":"23-81"}]
var update = data.map(({cr, ...rest}) => ({...rest, cr: cr.replace("-","/")}))
console.log(update)
0 голосов
/ 30 ноября 2018

Это простое использование Array#map и String#replace:

ES2018

const data = [{"id":1,"rp":"2426","cr":"11-11"},{"id":1,"rp":"1119","cr":"19-21"},{"id":1,"rp":"3453","cr":"23-81"}]

const r = data.map(({ cr, ...rest }) => ({ cr: cr.replace('-', '/'), ...rest }));

console.log(r);
0 голосов
/ 30 ноября 2018

Вы можете выполнить итерацию и отобразить массив.

var data = [{ id: 1, rp: "2426", cr: "11-11" }, { id: 1, rp: "1119", cr: "19-21" }, { id: 1, rp: "3453", cr: "23-81" }],
    newArray = data.map(o => Object.assign({}, o, { cr: o.cr.replace("-","/") }));

console.log(newArray);
.as-console-wrapper { max-height: 100% !important; top: 0; }
...