【发布时间】:2017-10-03 15:39:07
【问题描述】:
我想克隆一个对象,但是我需要为该对象分配一个新的 ID。
问题是对象已将 ID 命名为字符串。而且我需要增加每个克隆的数量,以避免冲突。
Obj = [
{_name:"Jane", _id:"_per1"},
{_name:"Jonas", _id:"_per2"},
{_name:"Joakim", _id:"_per3"},
{_name:"Johanna", _id:"_per4"}
]
当我克隆其中一个时。我想更改克隆上的“_id”,使其高于本例中的“_per4”。
因此,我希望能够从 'Obj' 中的 '_id' 中提取最大的数字。
我一直用这个从“_id”中提取数字。
var maxID = Obj._id.replace() /^\D+/g, '');
我也试过了
Math.max.apply(Math,Obj.map(function(o){return o._id;}))
但这不起作用。认为这是因为 '_id' 是字符串而不是 int。
帮助表示赞赏!
【问题讨论】:
-
将它们按顺序存储在数组中会更有意义——也更容易——然后使用项目的索引将任何数值添加到
id。破解字符串以使其部分价值增加总是一种痛苦,会导致更多的工作却很少/没有好处 -
你能提供你的输出吗
标签: javascript jquery string object