проверьте номер строки, если оба значения объекта присутствуют в javascript - PullRequest
0 голосов
/ 09 июля 2020

введите описание изображения здесь

Я столкнулся с проблемой в javascript, я хочу отображать row_number, если оба значения объекта отсутствуют в Name или Mobile.

как могу я это сделать?

                    var rows = [];  //display row number
                    for(var i=0;i<XL_row_object.length;i++){
                        if(XL_row_object[i].Name !== "" &&  XL_row_object[i].Mobile !== "" ){ 
                            console.log(XL_row_object[i].__rowNum__);    
                            rows ++;    
                        }
                    }

данные консоли

(5) [{…}, {…}, {…}, {…}, {…}]
0: {Name: "Alex", Mobile: "3433095622", __rowNum__: 0}
1: {Name: "John", Mobile: "3005095622", __rowNum__: 2}
2: {Mobile: "3103695624", __rowNum__: 3}
3: {Name: "Bell", __rowNum__: 4}
4: {Name: "Robot", Mobile: "3433456622", __rowNum__: 5}

Ожидаемый результат:

__rowNum__:3
__rowNum__:4

что мне делать? кто-нибудь мне поможет?

Ответы [ 2 ]

0 голосов
/ 09 июля 2020

Используйте сначала filter, а затем map.

const data = [
  { Name: "Alex", Mobile: "3433095622", "__rowNum__": 0 },
  { Name: "John", Mobile: "3005095622", "__rowNum__": 2 },
  { Mobile: "3103695624", "__rowNum__": 3 },
  { Name: "Bell", "__rowNum__": 4 },
  { Name: "Robot", Mobile: "3433456622", "__rowNum__": 5 },
];

const res = data
  .filter(({ Mobile, Name }) => !(Mobile && Name))
  .map(({ __rowNum__ }) => __rowNum__);

console.log(res);
0 голосов
/ 09 июля 2020

Или вы можете просто получить его, как показано ниже:

const rows = XL_row_object
   .filter(item => !(item.Name && item.Mobile))
   .map(item => ({__rowNum__: item.__rowNum__)});

, если вам не нужен __rowNum__ ключ:

const rows = XL_row_object
   .filter(item => !(item.Name && item.Mobile)) 
   .map(item => item.__rowNum__);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...