Перебирая значения каждого свойства каждого объекта в массиве в JavaScript - PullRequest
0 голосов
/ 21 февраля 2020

Как l oop через каждое значение свойства объекта внутри массива? Я хочу санировать все значения перед рендерингом во внешнем интерфейсе.

sampleData = [
    { "Name": "<p>John &nbsp;</p>", "Age": 23, "Student": false },
    { "Name": "Bruno", "Age": 20, "Student": true },
    { "Name": "David &nbsp;", "Age": 30, "Student": false },
];

Вот старый код:

this.sampleData.forEach((tableRow) => {
    let column = Object.entries(tableRow);
    column.forEach((value) => {
        let cell;
        cell = value[1];
        if ((typeof cell !== 'boolean') && (cell !== null) && (typeof cell !== 'number')) {
            cell = this.sanitizeString(cell);
        }
        console.log(cell);


    });

});

PS Я использую анализ Papa для анализа данных .csv и уже есть метод санитарии.

1 Ответ

0 голосов
/ 22 февраля 2020

Для тех, кто может столкнуться с той же задачей, что и выше, я решил ее, используя этот код:

this.dataPreview = this.sanitizedArray(result.data);

sanitizedArray(row) {
  Object.keys(row).forEach((key) => {
  // Sanitize each field in this scope
  return Object.keys(row[key]).forEach((column) => {
    if ( (typeof row[key][column] !== 'boolean') && (row[key][column] !== null) &(typeof row[key][column] !== 'number') ) {
    row[key][column] = this.sanitizeString(row[key][column]);
  }
  });
  // End of sanitation
});
return row;

}

или воспользуйтесь предложением моего друга:

const updatedSampleData = sampleData.map((data) => ({ ...data, property: newValue }));

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...