如何替换Javascript对象中的属性名称

时间:2015-11-03 16:45:10

标签: javascript

我想知道它是否有一种方法可以循环遍历所有对象并获取属性并选择要用另一个名称对象替换的属性?

到目前为止,我设法获取属性名称,我可以在我的下拉列表[名称,姓氏和大小]中选择它们,但我无法弄清楚如何根据我选择的内容替换属性本身。例如:[姓名,姓氏,大小] - > [名字,姓氏,大小]

var tempData = [{
  "name": "Andy",
  "lastname": "Hello",
  "size": "176cm"
}, {
  "name": "John",
  "lastname": "doo",
  "size": "180cm"
}, {
  "name": "Karen",
  "lastname": "World",
  "size": "186cm"
}, {
  "name": "Alex",
  "lastname": "Roy",
  "size": "196cm"
}]
for (var i = 0; i < tempData.length; i++) {
  for (var p in tempData[i]) {
    $('#title').find('select[name="title-select"]').append($('<option/>', {
      value: p,
      text: p,
      id: p
    }));
  }
}
for (var i = 0; i < tempData.length; i++) {
  for (var p in tempData[i]) {
    $('#parent').find('select[name="parent-select"]').append($('<option/>', {
      value: p,
      text: p,
      id: p
    }));
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="title">
  <select name="title-select">
    <!-- title option -->
  </select>
</div>

<div id="parent">
  <select name="parent-select">
    <!-- parent option -->
  </select>
</div>

1 个答案:

答案 0 :(得分:1)

喜欢这个吗?

var tempData = [{
  "name": "Andy",
  "lastname": "Hello",
  "size": "176cm"
}, {
  "name": "John",
  "lastname": "doo",
  "size": "180cm"
}, {
  "name": "Karen",
  "lastname": "World",
  "size": "186cm"
}, {
  "name": "Alex",
  "lastname": "Roy",
  "size": "196cm"
}];

tempData.forEach(function(o) {
  o.firstname = o.name;
  delete o.name;
});