我有一个对象,其中user_id
的数字值是字符串,但是我想更改这些值以数字形式返回,我该怎么做?
const users =
[
{ user_id: '1', name: 'Jack'},
{ user_id: '2', name: 'Emma'},
{ user_id: '3', name: 'David'}
]
// I want the output to look like this
const users =
[
{ user_id: 1, name: 'Jack'},
{ user_id: 2, name: 'Emma'},
{ user_id: 3, name: 'David'}
]
答案 0 :(得分:2)
就地
HAVING COUNT(sales.Product_id)>1
users.forEach(u=>u.user_id*=1)
答案 1 :(得分:1)
使用简单的map
,然后使用一元+
运算符将其转换为数字。
const users = [{
user_id: '1',
name: 'Jack'
},
{
user_id: '2',
name: 'Emma'
},
{
user_id: '3',
name: 'David'
}
];
const res = users.map(({ name, user_id }) => ({ name, user_id: +user_id }));
console.log(res);
.as-console-wrapper { max-height: 100% !important; top: auto; }
ES5语法:
var users = [{
user_id: '1',
name: 'Jack'
},
{
user_id: '2',
name: 'Emma'
},
{
user_id: '3',
name: 'David'
}
];
var res = users.map(function(user) {
return { name: user.name, user_id: +user.user_id };
});
console.log(res);
.as-console-wrapper { max-height: 100% !important; top: auto; }
答案 2 :(得分:0)
return users.map(user => ({...user, user_id: +user.user_id}))
答案 3 :(得分:0)
可能像:-
map.on('click', function (e) {
var MapNote = L.popup();
var content = '<form method="post"> {% csrf_token %} {{form}} <br> <button type="submit"> Save</button>'
MapNote.setContent(content);
MapNote.setLatLng(e.latlng); //calculated based on the e.layertype
MapNote.openOn(map);
})
答案 4 :(得分:0)
我知道这个问题已经有了答案,但是我想提供一种可能对您有益的替代解决方案,我将解释原因。
您可以将transform
应用于每个对象,并利用users
处理程序来测试属性值是否为Proxy
数组上的典型get
能够被强制to a number
by using the +
operator。这是使用short-circuit evaluation完成的,它返回第一个真表达式。如果属性的值不能转换为number
,它将返回没有强制值的原始值(在这种情况下为string
)。
users = users.map(_ =>
new Proxy(_, {get: (target, property) => +target[property] || target[property]}))
代码将始终取决于您的用例。在您的问题中,您询问如何在user_id
对象中将number
转换为users
。如果是一次性情况,您只需要将此特定属性强制为数字值,则不建议将代理应用于对象。
但是
如果您发现自己有许多可能要转换为number
类型的属性值的情况,则可以考虑使用上述技术,从而不必查明和在单独的转换函数中更新每个属性名称。
注意::由于我们使用map
方法将原始对象与Proxy
处理程序捆绑在一起,因此您要么需要使用其他声明式({{1 }}或var
),或在原始let
声明中使用Array.from
:
users
const users = Array.from(
[
{ user_id: '1', name: 'Jack'},
{ user_id: '2', name: 'Emma'},
{ user_id: '3', name: 'David'}
], _ => new Proxy(_, {get: (target, property) => +target[property] || target[property]}));