在 javascript 中交换对象的键值
Swapping key value of Object in javascript
我正在尝试交换对象的键和值。我已经在js小提琴上编写了代码,请检查链接
没有输出我正在使用以下编写代码到 html
document.getElementById("demo").innerHTML = out;
有人可以告诉我我哪里犯了错误吗?
你有几个错误。我已经像这样修复了你的小提琴:
var out='';
var car = {type:"Fiat", model:500, color:"white"};
// BUG #2 -- argument should be obj here not car as you use obj as variable inside
var invert = function (obj) {
var new_obj = {};
for (var prop in obj) {
if(obj.hasOwnProperty(prop)) {
var value = obj[prop];
new_obj[value] = prop;
}
}
// BUG #3 need to return the new_obj
return new_obj;
};
// BUG #1 -- need to pass car to invert() here!
for (var value in invert(car)) {
out += value + ' ';
}
document.getElementById("demo").innerHTML = out;
JSFiddle: http://jsfiddle.net/o1dcaw8j/2/
最短的两个解决方案香草 JavaScript
const objData = {
type:"Fiat",
model:500,
color:"white"
}
// For
let swapObj = {}
for ( let ep in objData){
swapObj.[objData[ep]] = ep;
}
console.log( swapObj );
// .reduce
const swapObj2 = Object.keys( objData ).reduce(function(obj, key) {
obj[ objData[key] ] = key;
return obj;
}, {});
console.log( swapObj2 );
相关文章:
- 将JSON对象的表示形式更改为显式键/值格式
- JavaScript,循环具有不同数量对键值的对象
- 通过键/值引用更新Javascript对象值
- JS在封装对象中查找键值对
- ES6类型表示可以反转的键值对象
- 下划线.js,根据键值删除对象数组中的重复项
- 在键值对的唯一组合上合并对象
- 将键/值数组中的对象与另一个对象(键/值)进行比较
- javascript对象键值对
- 根据嵌套数组中匹配的键值获取对象
- 如何将这些对象键值放入文本框中
- 将键、值对象转换为仅值数组
- 如何通过在JavaScript对象中的多个键/值对中查找最小值来选择键/值配对
- 将具有键值对数组的JavaScript对象发布到WebApi时出现问题
- 使用类似于 Array.prototype.map() 的方法将数组转换为键值对象
- JavaScript 从字符串创建键值对象数组
- 如何在javascript中仅用键值对象的值重建数组
- 从字符串生成js键值对象
- 在jQuery中添加属性时,使用attr()方法,将属性作为键值对象传递,还是直接传递,哪种方法执行速度最快?
- 如何在键值对象中添加引号