Как вставить массив в веб-сервис узла js через угловой js?

0

Я пытаюсь вставить массив данных в веб-службу узла js. Код выглядит так.

$scope.addList = function(task,subtask){
         subtask.checked= !(subtask.checked);
       var data = {
       "taskId": task._id,
       "subTaskName": subtask.subTaskName,
     };     
        if(subtask.checked){

          angular.forEach(data, function(value,key){
            this.push(key + ': ' + value);
          },selectedMap); 

        }
        else{
          delete selectedMap;
        }
      }

Если я напечатаю selectedMap в консоли, я получаю массив следующим образом.

tasks:  {
0: "taskId: 1"
1: "subTaskName: SOW Updation"
2: "taskId: 1"
3: "subTaskName: Estimation - High Level"
4: "taskId: 2"
5: "subTaskName: Feasibility Study"
}

Но мне нужно сделать так, чтобы вставить в БД

subTasks: [{
"task_id": 1,
"subTaskName": "Requirements Analysis"
},
{
"subTaskName": "Feasibility Study",
"task_id": 2
},
{
"subTaskName": "Requirement Elicitation",
"task_id": 3
},
{
"subTaskName": "Requirements Understanding",
"task_id": 4
},
{
"subTaskName": "Requirement Documentation",
"task_id": 5
}]

может кто-нибудь, пожалуйста, помогите мне сделать это..?

  • 0
    просто используйте this.push(data) - data уже имеют целевой формат ??
Теги:
arrays

1 ответ

1
Лучший ответ

Вы добавляете значение ключа в массив вместо добавления объекта.

Исходя из вашего вывода, selectedMap не определен правильно. Его следует selectedMap = []; вместо selectedMap = {}; где бы вы ни определились в коде.

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

$scope.addList = function(task,subtask){
  subtask.checked= !(subtask.checked);
  var data = {
    "task_id": task._id,  // Updated key name based on your required output
    "subTaskName": subtask.subTaskName,
  };
  if(subtask.checked){
    selectedMap.push(data); // Add data object in array instead of key value pair    
  } else {
    selectedMap = selectedMap.filter(function(obj) {
          return (obj.task_id !== data.task_id && obj.subTaskName !== data.subTaskName);
    });
}
  • 0
    Да .. Большое спасибо .. У меня работает ..
  • 0
    Функция толчка работает очень хорошо для меня. Но когда я попытался снять отметку, функция pop не работает должным образом. Он удаляет последние проверенные данные вместо непроверенных. Можете ли вы помочь мне, пожалуйста,
Показать ещё 9 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню