Javascript 获取JSON中的最后一个索引值
下面的代码有什么问题?正在获取所有JSON对象中的最后一个索引值Javascript 获取JSON中的最后一个索引值,javascript,Javascript,下面的代码有什么问题?正在获取所有JSON对象中的最后一个索引值 let arr = ['apple','banana','cherry']; let dataJson=[]; let json={} console.log('lent',arr.length); for(var i = 0; i<arr.length;i++) { json.name=arr[i]; json.type="fruit";
let arr = ['apple','banana','cherry'];
let dataJson=[];
let json={}
console.log('lent',arr.length);
for(var i = 0; i<arr.length;i++) {
json.name=arr[i];
json.type="fruit";
dataJson.push(json);
}
让arr=[‘苹果’、‘香蕉’、‘樱桃’];
让dataJson=[];
让json={}
控制台日志('lent',arr.length);
对于(var i=0;i您正在数组中传递对象引用。在上一次迭代中,对象将具有cherry
,这反映在数组中传递的所有对象中。相反,请使用object.assign
创建新对象
让arr=[‘苹果’、‘香蕉’、‘樱桃’];
让dataJson=[];
让json={}
对于(var i=0;i您正在数组中传递对象引用。在上一次迭代中,对象将具有cherry
,这反映在数组中传递的所有对象中。相反,请使用object.assign
创建新对象
让arr=[‘苹果’、‘香蕉’、‘樱桃’];
让dataJson=[];
让json={}
对于(var i=0;i,看起来您正试图将string
水果名称数组转换为JavaScript对象。目前,您的代码总是在每次迭代中覆盖name属性。我建议改为在每次迭代中推送一个对象
让arr=[‘苹果’、‘香蕉’、‘樱桃’];
让dataJson=[];
控制台日志('lent',arr.length);
for(vari=0;i({name:d,键入:'fruit'}));
console.log(data);
看起来您正试图将string
水果名称数组转换为JavaScript对象。当前,每次迭代时,您的代码总是覆盖name属性。我建议在每次迭代中推送一个对象
让arr=[‘苹果’、‘香蕉’、‘樱桃’];
让dataJson=[];
控制台日志('lent',arr.length);
for(vari=0;i({name:d,键入:'fruit'}));
console.log(数据);
我会用map来做
const arr=[“苹果”、“香蕉”、“樱桃”]
const dataJson=arr.map(水果名=>({name:水果名,类型:'fruit'}))
log(dataJson)
我会使用map来完成
const arr=[“苹果”、“香蕉”、“樱桃”]
const dataJson=arr.map(水果名=>({name:水果名,类型:'fruit'}))
log(dataJson)
您想实现什么?如果希望dataJson具有唯一的nad类型名称的对象,则需要在循环中创建对象,否则它们都将是相同的对象。您想实现什么?如果希望dataJson具有唯一的nad类型名称的对象,则需要在循环中创建对象,否则它们都将是相同的对象相同的对象。谢谢@randomSoulI。我不认为这是数组的正确用例。reduce
。我当然可以看到数组。map
,但这里没有任何东西可以减少/累积。如果OP试图获得不同类型水果的计数,我完全可以在这里看到reduce
。谢谢@randomSoulI不要ink这是数组的正确用例。reduce
。我当然可以看到数组。map
,但这里没有任何东西可以减少/累积。如果OP试图获得不同类型水果的计数,我完全可以在这里看到reduce
。