Как получить значения свойств объекта с помощью JavaScript? - PullRequest
0 голосов
/ 03 января 2019

В следующем коде users - это объект, который мне нужно преобразовать в массив только со значениями свойств:

users = [
  { mobile: '88005895##' },
  { mobile: '78408584##' },
  { mobile: '88008335##' }
];

Желаемый выход:

[88005895##,78408584##,88008335##];

Следующий jQuery код работает, но я не знаю, как добиться того же с чистым JavaScript:

var objNumber = $.map(users, function(value, index) {
  return [value];
});
console.log(objNumber);

Что я пробовал до сих пор:

var objNumber = Object.keys(users).map(function (key) { return users[key]; });

Ответы [ 4 ]

0 голосов
/ 03 января 2019

users = [ { mobile: '88005895##' },
  { mobile: '78408584##' },
  { mobile: '88008335##' } ];
var numbers = users.map(function(value, index, array){
	return value;
	
	});
var numbers2 = users.map(function(value, index, array){
	return value.mobile;
	});
var num='';
users.map(function(value, index, array){
	num+=value.mobile;
	return num;
	});	
	console.log(numbers);
	console.log(numbers2);
	console.log(num);
0 голосов
/ 03 января 2019

Вы можете использовать метод map () вместе с ES6 функцией жирной стрелки для извлечения значений в одну строку следующим образом:

users.map(x => x.mobile);

Проверьте фрагмент кода ниже для практического примера подхода ES6 выше:

var users = [{mobile:'88005895##'},{mobile:'78408584##'},{mobile:'88008335##'}];
       
var mob = users.map(x => x.mobile);

console.log(mob);

Или, если вы предпочитаете подход ES5 без функции жирная стрелка , вы можете отобразить массив следующим образом:

users.map(function(x) {
  return x.mobile;
});

Проверьте фрагмент кода ниже для практического примера подхода ES5 выше:

var users = [{mobile:'88005895##'},{mobile:'78408584##'},{mobile:'88008335##'}];
       
var mob = users.map( function(x) {
  return x.mobile;
});

console.log(mob);
0 голосов
/ 03 января 2019

JavaScript имеет встроенную функцию map для Array, вы можете использовать ее примерно так, в моем примере я только что написал одну функцию с именем process, которая просто возвращает свойство mobile объекта, я имею в виду васмог бы делать все что угодно, опять же, это всего лишь пример того, что вы могли бы сделать.

Я имею в виду, что вы можете написать все это в одну строку, то есть

const demo = users.map(user => user.mobile);

const users = [ 
  { mobile: '8800589595' },
  { mobile: '7840858487' },
  { mobile: '8800833524' } 
];

// Do some magic stuff here...
const process = u => u.mobile; 

// Map the array...
const demo = users.map(user => process(user));

// Results...
console.log(demo);
0 голосов
/ 03 января 2019

Вы можете написать это так:

var users = [ { mobile: '88005895##' },
  { mobile: '78408584##' },
  { mobile: '88008335##' } ];
  
  
users.map(userData => console.log(userData))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...