Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 过滤对象数组_Javascript_Node.js - Fatal编程技术网

Javascript 过滤对象数组

Javascript 过滤对象数组,javascript,node.js,Javascript,Node.js,我有如下数据: [{address: '1300 BRYANT ST', block: '3903', cnn: '517000', latitude: '37.7690871267671', longitude: '-122.411527667132', received: '2016-05-06', x: '6009188.668', y: '2108146.472' }, {B...}, {C...}] [{address: '1300 BRYANT ST',

我有如下数据:

[{address: '1300 BRYANT ST',
  block: '3903',
  cnn: '517000',
  latitude: '37.7690871267671',
  longitude: '-122.411527667132',
  received: '2016-05-06',
  x: '6009188.668',
  y: '2108146.472' }, {B...}, {C...}]
[{address: '1300 BRYANT ST',
  latitude: '37.7690871267671',
  longitude: '-122.411527667132'},
  ...]
我想过滤数据,使其看起来像这样:

[{address: '1300 BRYANT ST',
  block: '3903',
  cnn: '517000',
  latitude: '37.7690871267671',
  longitude: '-122.411527667132',
  received: '2016-05-06',
  x: '6009188.668',
  y: '2108146.472' }, {B...}, {C...}]
[{address: '1300 BRYANT ST',
  latitude: '37.7690871267671',
  longitude: '-122.411527667132'},
  ...]

如何使用JavaScript过滤这些数据?

一个简单的方法是:

var arr=[{地址:'1300布莱恩特街',街区:'3903',cnn:'517000',纬度:'37.7690871267671',经度:'-122.411527667132',收到:'2016-05-06',x:'6009188.668',y:'2108146.472'},{地址:'12 Other ST',block:'3903',cnn:'517000',纬度:'12.7690871299999',经度:'44.412300067132',收到:'2016-05-06',x:'6009188.668',y:'2108146.472'}];
arr=arr.map(函数(v){
返回{
地址:v.地址,
纬度,
经度
};
});

console.log(arr);
执行此操作的简单方法是:

var arr=[{地址:'1300布莱恩特街',街区:'3903',cnn:'517000',纬度:'37.7690871267671',经度:'-122.411527667132',收到:'2016-05-06',x:'6009188.668',y:'2108146.472'},{地址:'12 Other ST',block:'3903',cnn:'517000',纬度:'12.7690871299999',经度:'44.412300067132',收到:'2016-05-06',x:'6009188.668',y:'2108146.472'}];
arr=arr.map(函数(v){
返回{
地址:v.地址,
纬度,
经度
};
});

console.log(arr);
假设您已将JSON解析为名为
jsonData
的JavaScript对象,您只需迭代数组并添加如下内容:

var jsonData = ...;

var filteredData = [];

for (var i = 0; i < jsonData.length; i++) {
    filteredData.push({
        address: jsonData[i].address,
        latitude: jsonData[i].latitude,
        longitude: jsonData[i].longitude,
    });
}
var jsonData=。。。;
变量filteredData=[];
对于(var i=0;i
假设您已将JSON解析为名为
jsonData
的JavaScript对象,您只需迭代数组并添加如下内容:

var jsonData = ...;

var filteredData = [];

for (var i = 0; i < jsonData.length; i++) {
    filteredData.push({
        address: jsonData[i].address,
        latitude: jsonData[i].latitude,
        longitude: jsonData[i].longitude,
    });
}
var jsonData=。。。;
变量filteredData=[];
对于(var i=0;i
使用普通JavaScript:

var arr=
[{address: '1300 BRYANT ST',
  block: '3903',
  cnn: '517000',
  latitude: '37.7690871267671',
  longitude: '-122.411527667132',
  received: '2016-05-06',
  x: '6009188.668',
  y: '2108146.472' }];

var k=arr.map(function(v) {
    return {
        address: v.address,
        latitude: v.latitude,
        longitude: v.longitude
    }
});

下面是一个使用纯JavaScript的.

var arr=
[{address: '1300 BRYANT ST',
  block: '3903',
  cnn: '517000',
  latitude: '37.7690871267671',
  longitude: '-122.411527667132',
  received: '2016-05-06',
  x: '6009188.668',
  y: '2108146.472' }];

var k=arr.map(function(v) {
    return {
        address: v.address,
        latitude: v.latitude,
        longitude: v.longitude
    }
});

这是一个。

您正在重新说明
arr
。最好只分配
arr=arr.map(…)
@sumneevans-很好。我开始将结果分配给一个新变量,然后将其更改为覆盖旧变量。已更新。@nnnnnn:事实上,我更新了数组,键也是字符串。这将如何更改此javascript代码?谢谢!!!它根本不会更改它。如果使用
{someKey:1}
(无引号)实际键将是字符串
“someKey”
。您正在重新声明
arr
。最好只分配
arr=arr.map(…)
@sumneevans-很好。我开始将结果分配给一个新变量,然后将其更改为覆盖旧变量。已更新。@nnnnnn:事实上,我更新了数组,键也是字符串。这将如何更改此javascript代码?谢谢!!!它根本不会更改它。如果使用
{someKey:1}
(无引号)实际键将是字符串
“someKey”