我有嵌套的JSON数据,如:
[{"id":"1","province_id":"ABC","name":"City One"},{"id":"2","province_id":"EFG","name":"City Two"}]
我想通过province_id
过滤JSON并将其放在另一个变量中。 VueJS中是否有任何解决方案,例如Vue.filter();
?
我知道我们有“linq”来完成这项工作,但我不想使用它。
答案 0 :(得分:4)
你正在寻找的是javascript Array的filter()函数。你应该花一些时间熟悉过滤器,以及map和reduce之类的其他东西。它可以更轻松地对您的数据进行切片和切割。
var serializedData = `[{"id":"1","province_id":"ABC","name":"City One"},{"id":"2","province_id":"EFG","name":"City Two"}]`;
var data = JSON.parse(serializedData);
var provinceAbc = data.filter(d => d.province_id === 'ABC');
该行将为您提供其省号为" ABC"
的所有对象另外,既然你提到了" linq"在你的帖子中,filter()就像IEnumerable.Where(),而map()就像.NET Linq术语中的IEnumerable.Select()
答案 1 :(得分:1)
我认为这对你有用:
var nestedJson = `[{"id":"1","province_id":"ABC","name":"City One"},{"id":"2","province_id":"EFG","name":"City Two"}]`;
var array = JSON.parse(nestedJson);
array = array.map(e => e["province_id"]);
console.log(array);