Javascript 如何迭代对象并在大括号中为每个项返回一个值
我有一个对象,其中包含以下数据:Javascript 如何迭代对象并在大括号中为每个项返回一个值,javascript,Javascript,我有一个对象,其中包含以下数据: let data = {"A":"Alpha", "B":"Bravo", "C":"Charlie"}; for(let key in data) { if(data.hasOwnProperty(key)) { // Get the data here by the key name: alert(data['A'] + ' ' + data['B'] + ' ' + data['C']); } } 使用上面的对象,我需要迭
let data = {"A":"Alpha", "B":"Bravo", "C":"Charlie"};
for(let key in data) {
if(data.hasOwnProperty(key)) {
// Get the data here by the key name:
alert(data['A'] + ' ' + data['B'] + ' ' + data['C']);
}
}
使用上面的对象,我需要迭代,但返回的项使用键名,如下所示:
let data = {"A":"Alpha", "B":"Bravo", "C":"Charlie"};
for(let key in data) {
if(data.hasOwnProperty(key)) {
// Get the data here by the key name:
alert(data['A'] + ' ' + data['B'] + ' ' + data['C']);
}
}
或者这样:
Object.keys(data).forEach(function(key,index) {
alert(data['A'] + ' ' + data['B'] + ' ' + data['C']);
});
两个表单都将输出:这是正确的,因为对象有3项
Alpha Bravo Charlie
Alpha Bravo Charlie
Alpha Bravo Charlie
不使用中断代码>和香草JavaScript(NoJQuery
)如何简单地获得:
Alpha Bravo Charlie
您可以在Object.keys()
上使用map()
,并返回值
let data={“A”:“Alpha”,“B”:“Bravo”,“C”:“Charlie”};
var values=Object.keys(data.map)(key=>data[key]);
console.log(values.join(“”))
ES6/7方式:
Object.values(data).join(' '));
ES5:
通过询问A
、B
和C
键值,可以在每次循环迭代时手动提取所有数据,这就是为什么每次迭代时都会看到所有3个值
如果只使用循环变量并仅获取循环此时正在枚举的一个键值,则两个版本的代码都可以正常工作:
let data={“A”:“Alpha”,“B”:“Bravo”,“C”:“Charlie”};
for(让我们输入数据){
if(data.hasOwnProperty(key)){
//通过密钥名称在此处获取数据:
console.log(数据[键]);
}
}
Object.keys(数据).forEach(函数(键,索引){
console.log(数据[键]);
});代码>您也可以在上使用
var数据={“A”:“Alpha”,“B”:“Bravo”,“C”:“Charlie”};
var结果=Object.keys(数据).reduce(函数(acc,cVal){
返回acc+“”+数据[cVal];
}, "");
控制台日志(结果);
//ES6代码段
var result=Object.keys(data).reduce((acc,cval)=>acc+“”+data[cval],“”);
控制台日志(结果)代码>您正在循环,然后决定完全忽略每次迭代中获得的密钥,并决定将该密钥指定为硬编码文本。你需要下定决心做什么。@trincot:谢谢你的好意评论。