Javascript 更改对象数组中的元素
我有以下形式的数据:Javascript 更改对象数组中的元素,javascript,arrays,angularjs,object,Javascript,Arrays,Angularjs,Object,我有以下形式的数据: data = [ { "date":"2018-05-18T-6:00:00.000Z", "something":"something1", "something":"something1" }, { "date":"2018-05-19T-6:00:00.000Z", "something":"something2", "something":"someth
data = [
{
"date":"2018-05-18T-6:00:00.000Z",
"something":"something1",
"something":"something1"
},
{
"date":"2018-05-19T-6:00:00.000Z",
"something":"something2",
"something":"something2"
}
]
如何获取对象中的第一个元素,编辑它们,然后将它们替换回对象中
所以应该是这样的
data = [
{
"date":"2018-05-18",
"something":"something1",
"something":"something1"
}
{
"date":"2018-05-19",
"something":"something2",
"something":"something2"
}
]
var date = [];
const getSessions = () => {
loginService.getUser().then((response) => {
var user_id = response.data.id;
console.log("getUser returning this => ", response.data);
loginService.getUserSessions(user_id).then((response) => {
$scope.sessions = response.data;
for (var i = 0; i < $scope.sessions.length; i++){
date.push($scope.sessions[i].next_class.slice(0,10));
};
$scope.sessions.push(date);
console.log($scope.sessions);
我试过这样的东西
data = [
{
"date":"2018-05-18",
"something":"something1",
"something":"something1"
}
{
"date":"2018-05-19",
"something":"something2",
"something":"something2"
}
]
var date = [];
const getSessions = () => {
loginService.getUser().then((response) => {
var user_id = response.data.id;
console.log("getUser returning this => ", response.data);
loginService.getUserSessions(user_id).then((response) => {
$scope.sessions = response.data;
for (var i = 0; i < $scope.sessions.length; i++){
date.push($scope.sessions[i].next_class.slice(0,10));
};
$scope.sessions.push(date);
console.log($scope.sessions);
var日期=[];
const getSessions=()=>{
loginService.getUser()。然后((响应)=>{
var user_id=response.data.id;
log(“getUser returning this=>”,response.data);
loginService.getUserSessions(用户id)。然后((响应)=>{
$scope.sessions=response.data;
对于(变量i=0;i<$scope.sessions.length;i++){
推送($scope.sessions[i].next_class.slice(0,10));
};
$scope.sessions.push(日期);
log($scope.sessions);
这会缩短日期,但不会替换对象中的原始日期。您可以执行以下操作-
var数据=[
{
“日期”:“2018-05-18T-6:00:00.000Z”,
“某物”:“某物1”,
},
{
“日期”:“2018-05-19T-6:00:00.000Z”,
“某物”:“某物2”
}
]
data.forEach((记录)=>{
record.date=record.date.split(“T”)[0]
})
console.log(数据);
您也可以这样做
`
`
data.forEach(e=>e.date=e.date.substring(0,10));
data是一个数组。首先访问数组元素。像data[0]一样,data[1]…现在这些元素是对象文本,您可以使用key访问它们。首先,您可以尝试data[0][“date”]或data[0].DateMap的运行速度是否比a for each快?创建新数组而不是按要求修改当前数组是否有好处?您的答案是可行的,但使用子字符串会更快。无需使用splitYes创建另一个数组,OP可以在那里有自定义逻辑。我添加的代码片段只是为了举例说明。我希望我的答案不是votOP的问题是更新数组中的对象元素,并解决该问题。forEach中的逻辑可以根据需要更改。