Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:使用给定现有对象的循环设置对象键_Javascript_Oop_Object_For Loop_Key Value - Fatal编程技术网

Javascript:使用给定现有对象的循环设置对象键

Javascript:使用给定现有对象的循环设置对象键,javascript,oop,object,for-loop,key-value,Javascript,Oop,Object,For Loop,Key Value,我的目标是创建一个函数,该函数返回一个新对象,该对象由作为名称的键和作为玩家编号的值组成: var newObj = {"Brandon Bass": 2, "Tarik Black":19,...} 我有一个目标: var playerObj = { players: [{ name: "Brandon Bass", number: 2, stats: { points: 2.5 } }, {

我的目标是创建一个函数,该函数返回一个新对象,该对象由作为名称的键和作为玩家编号的值组成:

var newObj = {"Brandon Bass": 2, "Tarik Black":19,...}
我有一个目标:

  var playerObj = {
  players: [{
      name: "Brandon Bass",
      number: 2,
      stats: {
        points: 2.5
      }
    },

    {
      name: "Tarik Black",
      number: 19,
      stats: {
        points: 2.5
      }
    }, {
      name: "Anothy Broqn",
      number: 11,
      stats: {
        points: 4.8
      }
    },

    {
      name: "Kobe Bryant",
      number: 22,
      stats: {
        points: 5.6
      }
    }
  ]};
这是。这可能吗

for (var key in playerObj.players) {
  var newObj = {};
  for (var i = 0; i < playerOjb.players.length; i++) {
    newObj[playerObj.players[i]] = playerObj.players[key].number;
  }
  return newObj;
}
for(playerObj.players中的var键){
var newObj={};
对于(变量i=0;i
当循环数组时,对循环使用标准的
,而不是对
中的..使用
,然后简单地按原样创建对象:

var newObj = {}
for (var i = 0; i < playerObj.players.length; i++) {
    newObj[playerObj.players[i].name] = playerObj.players[i].number;
}
var newObj={}
对于(变量i=0;i
试着像这样处理这个数组

var newObj = playerObj.players.reduce(function(old,itm){
   old[itm.name] = itm.number
   return old;
}, {});

在问题
return newObj
中包含您的代码将在第一个玩家之后立即结束循环。这是一个很好的解决方案。非常感谢。