为了账号安全,请及时绑定邮箱和手机立即绑定

克隆一个对象 JSON 但直到它的第 5 个键值

克隆一个对象 JSON 但直到它的第 5 个键值

牛魔王的故事 2021-06-27 08:36:51
我有一个包含 10 个以上键值的 JSON,我需要创建它的副本,但将其限制到第 5 个键值。输入:var object1 = {  "1a": 1,  "2b": 2,  "3c": 1,  "4d": 2,  "5e": 1,  "6f": 2,  "7g": 1,  "8h": 2,  "9i": 1,  "10j": 2};期望的输出:var object2 = {  "1a": 1,  "2b": 2,  "3c": 1,  "4d": 2,  "5e": 1,};我正在考虑使用 for 到 10th 为每个键创建一个新的一个键。有什么想法吗?
查看完整描述

2 回答

?
慕仙森

TA贡献1827条经验 获得超7个赞

您可以对条目数组进行切片并使用Object.fromEntries.


var object = { "1a": 1, "2b": 2, "3c": 1, "4d": 2, "5e": 1, "6f": 2, "7g": 1, "8h": 2, "9i": 1, "10j": 2 },

    result = Object.fromEntries(Object.entries(object).slice(0, 5));

    

console.log(result);

与 相同Object.assign。


var object = { "1a": 1, "2b": 2, "3c": 1, "4d": 2, "5e": 1, "6f": 2, "7g": 1, "8h": 2, "9i": 1, "10j": 2 },

    result = Object.assign({}, ...Object

        .entries(object)

        .slice(0, 5)

        .map(([k, v]) => ({ [k]: v }))

    );

    

console.log(result);


查看完整回答
反对 回复 2021-07-08
?
12345678_0001

TA贡献1802条经验 获得超5个赞

你可以很容易地使用这样的东西,通过使用reduce方法,这是一个相对标准的实现。


这个解决方案的优点在于它非常简单,即使是初学者也能理解它。


var object1 = {

  "1a": 1,

  "2b": 2,

  "3c": 1,

  "4d": 2,

  "5e": 1,

  "6f": 2,

  "7g": 1,

  "8h": 2,

  "9i": 1,

  "10j": 2

};


var object2 = Object.keys(object1).reduce((o, k, i) => {

  i < 5 ? o[k] = object1[k] : null;

  return o;

}, {});


console.log(object2);


查看完整回答
反对 回复 2021-07-08
  • 2 回答
  • 0 关注
  • 174 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信