[英]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.