Array.includes в операторе if else с использованием узла js/javascript

 if (conv_details.settings.min === null ||
     conv_details.settings.min === undefined ||
     conv_details.settings.max === null ||
     conv_details.settings.max === undefined) {
         details_data.push({
         field_label: conv_details.label,
         description: conv_details.description,
         field_name: conv_details.field_name,
         content_types: conv_details.bundle,
         type: conv_details.field_type,
         min: "",
         max: "",
     });
     } else {
        details_data.push({
        field_label: conv_details.label,
        description: conv_details.description,
        field_name: conv_details.field_name,
        content_types: conv_details.bundle,
        type: conv_details.field_type,
        min: conv_details.settings.min,
        max: conv_details.settings.max,
     });
   }

Я писал условие if-else для проверки максимального и минимального значения, которое максимально или минимальное значение содержит нулевое или неопределенное значение или нет, если оно содержит нулевое или неопределенное значение, тогда максимальное или минимальное значение должно быть присвоено с помощью " ", но писать одно условие хорошо в состоянии Если еще

но, как вы можете видеть здесь, я написал 4 условия в операторе if, и он проверяет только условие null, но я хочу также и undefined

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

Итак, я написал все условия в одном списке массивов, но не знаю, как вызвать его в операторе If, чтобы проверить условие.

let testArray=[`conv_details.settings.min === null`,
               `conv_details.settings.min === "undefined"`
               `conv_details.settings.max === null`
               `conv_details.settings.max === "undefined"`];

 if(testArray.includes()){
         details_data.push({
         field_label: conv_details.label,
         description: conv_details.description,
         field_name: conv_details.field_name,
         content_types: conv_details.bundle,
         type: conv_details.field_type,
         min: "",
         max: "",
     });
     } else {
        details_data.push({
        field_label: conv_details.label,
        description: conv_details.description,
        field_name: conv_details.field_name,
        content_types: conv_details.bundle,
        type: conv_details.field_type,
        min: conv_details.settings.min,
        max: conv_details.settings.max,
     });
   }

Я не знаю, как правильно объявить Array.includes в операторе if, чтобы удовлетворить все мои условия, поскольку я новичок в node js и JavaScript.

Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
0
0
24
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Не думаю, что это правильный подход.

Вы можете упростить свои условия таким образом

const {min, max} = conv_details.settings
if (!min && !max) {
         details_data.push({
         field_label: conv_details.label,
         description: conv_details.description,
         field_name: conv_details.field_name,
         content_types: conv_details.bundle,
         type: conv_details.field_type,
         min: "",
         max: "",
     });
     } else {
        details_data.push({
        field_label: conv_details.label,
        description: conv_details.description,
        field_name: conv_details.field_name,
        content_types: conv_details.bundle,
        type: conv_details.field_type,
        min: conv_details.settings.min,
        max: conv_details.settings.max,
     });
   }
Ответ принят как подходящий

I don't know what is the right way to declare the Array.includes in if statement to satisfy all my condition as I am new to node js and JavaScript

Если нет, то Array.includes() нужен параметр, чтобы проверить его в массиве, в котором вы его вызываете. Вы можете создать массив и проверить в нем значение max и min.

const settingsStatus = [null, undefined]; // don't put in string as these are types in JS
const {min, max} = conv_details.settings;
 if(settingsStatus.includes(min) || settingsStatus.includes(max)){
         details_data.push({
         field_label: conv_details.label,
         description: conv_details.description,
         field_name: conv_details.field_name,
         content_types: conv_details.bundle,
         type: conv_details.field_type,
         min: "",
         max: "",
     });
     } else {
        details_data.push({
        field_label: conv_details.label,
        description: conv_details.description,
        field_name: conv_details.field_name,
        content_types: conv_details.bundle,
        type: conv_details.field_type,
        min: conv_details.settings.min,
        max: conv_details.settings.max,
     });
   }

Примечание: убедитесь, что вы не определяете null как «null» или undefined как «undefined», поскольку они становятся строками в JS и больше не являются ложными.

Лучший способ написать приведенный выше код:

details_data.push({
         field_label: conv_details.label,
         description: conv_details.description,
         field_name: conv_details.field_name,
         content_types: conv_details.bundle,
         type: conv_details.field_type,
         min: settingsStatus.includes(min) ? '' : min,
         max: settingsStatus.includes(max) ? '' : max,

Вам не нужен if-else, если вы хотите установить только минимум и максимум.

Другие вопросы по теме