使用Javascript提取Json对象的一部分

Extract part of a Json object using Javascript

本文关键字:一部分 对象 Json Javascript 提取 使用      更新时间:2023-09-26

假设我有这样一个对象:

{
"cars":[
    {"modell":"Volvo", "color":"blue", "origin":"Sweden"}, 
    {"modell":"SAAB", "color":"black", "origin":"Sweden"},
    {"modell":"Fiat", "color":"brown", "origin":"Italy"},
    {"modell":"BMW", "color":"silver", "origin":"Germany"}, 
    {"modell":"BMW", "color":"black", "origin":"Germany"},
    {"modell":"Volvo", "color":"silver", "origin":"Sweden"}
    ]
}

首先,我将对象保存到myCars

1:我想使用javascript提取汽车与起源瑞典,然后把这些汽车在一个新的对象名为mySwedishCars

2:如果这更简单,我想从对象myCars中提取所有非瑞典汽车。

最后,我必须有一个只包含瑞典汽车的对象。

欢迎任何建议!

对汽车数组使用filter只返回瑞典车:

const myCars={cars:[{modell:"Volvo",color:"blue",origin:"Sweden"},{modell:"SAAB",color:"black",origin:"Sweden"},{modell:"Fiat",color:"brown",origin:"Italy"},{modell:"BMW",color:"silver",origin:"Germany"},{modell:"BMW",color:"black",origin:"Germany"},{modell:"Volvo",color:"silver",origin:"Sweden"}]};
function getSwedish(arr) {
  return arr.filter(el => {
    return el.origin === 'Sweden';
  });
}
console.log(getSwedish(myCars.cars));

但是!更棒的是,您可以泛化该函数以返回您喜欢的任何国籍的汽车:

const myCars={cars:[{modell:"Volvo",color:"blue",origin:"Sweden"},{modell:"SAAB",color:"black",origin:"Sweden"},{modell:"Fiat",color:"brown",origin:"Italy"},{modell:"BMW",color:"silver",origin:"Germany"},{modell:"BMW",color:"black",origin:"Germany"},{modell:"Volvo",color:"silver",origin:"Sweden"}]};
function getCarsByCountry(arr, country) {
  return arr.filter(el => {
    return el.origin === country;
  });
}
console.log(getCarsByCountry(myCars.cars, 'Sweden'));
console.log(getCarsByCountry(myCars.cars, 'Germany'));

你可以在javascript中过滤你的数组:

var swedishCars = myCars.cars.filter(function(c) {
    return (c.origin === "Sweden");
});