basket
是一个列表,因此您需要使用[]
运算符访问每个对象。您可以通过以下方式进行操作:
var basket = [
{
name: "apple",weight: "200g",type: "fruit"
},{
name: "bananas",weight: "90g",];
for(var i=0; i<basket.length; i++) {
new_basket = parseInt(basket[i].weight);
console.log(new_basket)
}
,
var basket = [
{
name: "apple",];
basket.forEach((data,i)=>{
data['weight']=Number(String(data['weight']).replace('g',''))
})
console.log(basket);
您在这里,希望这会有所帮助。如果是这样,我很高兴!
basket.forEach((data,i)=>data['weight']=Number(String(data['weight']).replace('g','')));
在一行中,干净的代码对现有数组进行了修改。
,
您需要使用Object.assign
将新键/值与原始对象合并到新对象内。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
顺便说一句,使用map
之类的高阶函数可以使您的代码更具可读性并允许链接。 map
遍历一个数组并返回一个新数组。它接受可以进行所有转换的回调。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
在您的情况下,您可以尝试执行以下操作:
const newFruits = fruits.map(fruit => {
return Object.assign(fruit,{ weight: parseInt(fruit.weight) })
})
该函数循环遍历结果,然后使用Object.assign
将新键/值与原始对象合并。
这是强制性的ES6 [和速记]方法:
const newFruits = fruits.map(({weight,...fruit}) => ({
...fruit,weight: +weight
})
本文链接:https://www.f2er.com/2508741.html