Javascript 如何在重命名对象时使用Array.prototype.filter选择性地过滤Json数据';结果数组中的属性?
我有一个Json,看起来像这样Javascript 如何在重命名对象时使用Array.prototype.filter选择性地过滤Json数据';结果数组中的属性?,javascript,array.prototype.map,Javascript,Array.prototype.map,我有一个Json,看起来像这样 { "score": "1200.65", "num_games": "160", "wins": "110", "year": "2013" }, { "score": "705.23", "num_games": "34", "wins": "21", "year": "2014" }, { "score": "467.12", "num_games": "77", "wi
{
"score": "1200.65",
"num_games": "160",
"wins": "110",
"year": "2013"
},
{
"score": "705.23",
"num_games": "34",
"wins": "21",
"year": "2014"
},
{
"score": "467.12",
"num_games": "77",
"wins": "30",
"year": "2015"
},
我想创建一个对象数组(包含x和y),可以按x属性的年数(例如2014年到2015年之间的年数)和特定属性的值作为y(例如“分数”)进行过滤。
例如,如果我按2014-2015年的范围和财产“分数”进行过滤,则生成的数组应为:
[{x:'2014', y: 705.23}, {x:'2015', y: 467.12}]
[{x:'2014', y: 34}, {x:'2015', y: 77}]
另一个例子是,如果我按2014-2015年的范围和属性“num_games”进行过滤,则生成的数组应为:
[{x:'2014', y: 705.23}, {x:'2015', y: 467.12}]
[{x:'2014', y: 34}, {x:'2015', y: 77}]
我该怎么做?Array.prototype.filter是用于此的正确工具吗
array\Filter
array\map
var数据=[{“分数”:“1200.65”,“数值游戏”:“160”,“胜利”:“110”,“年份”:“2013”},{“分数”:“705.23”,“数值游戏”:“34”,“胜利”:“21”,“年份”:“2014”},{“分数”:“467.12”,“数值游戏”:“77”,“胜利”:“30”,“年份”:“2015”};
函数getFilteredData(数据、开始、结束){
返回数据.过滤器(函数(项){
return+start过滤器、贴图、对象销毁可以完成以下工作:
const y=[{
“分数”:“1200.65”,
“数字游戏”:“160”,
“胜利”:“110”,
“年份”:“2013年”
},
{
“分数”:“705.23”,
“数字游戏”:“34”,
“胜利”:“21”,
“年份”:“2014年”
},
{
“分数”:“467.12”,
“数字游戏”:“77”,
“胜利”:“30”,
“年份”:“2015年”
}
];
常数res=y.filter(o=>o.year==2014)(({
年份:x,
分数:y
}) => ({
x,,
Y
}))
console.log(res)
首先按日期筛选数组,然后将筛选的项映射到所需的格式。您可以使用分解结构缩短代码:
const数据=[{
“分数”:“1200.65”,
“数字游戏”:“160”,
“胜利”:“110”,
“年份”:“2013年”
}, {
“分数”:“705.23”,
“数字游戏”:“34”,
“胜利”:“21”,
“年份”:“2014年”
}, {
“分数”:“467.12”,
“数字游戏”:“77”,
“胜利”:“30”,
“年份”:“2015年”
}];
常量过滤器比=(数据,[min,max],属性)=>数据
.filter({year}=>year>=min&&year({x,y}));
console.log(filterBy(数据,[2013,2014],'score');
log(filterBy(data,[2013,2013],'wins'));
您可以使用获取所需范围内的对象,然后使用从筛选列表中创建对象
见下例:
const arr=[{
“分数”:“1200.65”,
“数字游戏”:“160”,
“胜利”:“110”,
“年份”:“2013年”
},
{
“分数”:“705.23”,
“数字游戏”:“34”,
“胜利”:“21”,
“年份”:“2014年”
},
{
“分数”:“467.12”,
“数字游戏”:“77”,
“胜利”:“30”,
“年份”:“2015年”
}];
const get_items=(arr[sY,eY],prop)=>
啊
.filter(({year})=>+sY您可以筛选并映射所需的值
函数getParts(数组,[min,max],键){
返回数组
.filter({year})=>+min Firstfilter
要选择的对象,然后将它们映射到所需格式的新对象(使用x
和y
属性)。