繁体   English   中英

如何使用 JavaScript 检索对象属性值?

[英]How to retrieve object property values with JavaScript?

在以下代码中, 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]; });

您可以使用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);

你可以这样写:

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

JavaScript 有一个用于数组的本地map函数,您可以像这样使用它,在我的示例中,我刚刚编写了一个名为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);

 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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM