我有一个包含100.000个对象的数组。这些对象具有多个键/值对。
我的阵列示例:
var data = [
{
"name": "John",
"id": 1,
"completed": "yes",
"prio": 3,
"importance": 2
},
{
"name": "Jim",
"id": 2,
"completed": "yes",
"prio": 4,
"importance": 4
}
]
如下所示,我从现有数组创建了一个新数组,但现在使用原始数组中的选定键/值对。
var newData = [];
for (var i = 0; i < data.length; i++) {
newData[i] = {"name": data[i].name, "id": data[i].id};
console.log(newData[1]);
}
您还可以看到我将新阵列记录到控制台。但我真正需要的是将数组newData
存储在一个单独的文件中,在该文件中我可以看到数组中的所有对象,就像在我的示例数组data
中一样。 能够看到newData
的所有对象实际上并不那么重要,但是稍后使用该数组会很好。例如,我想使用R来更好地理解数据。
我该怎么做?
注意:我在浏览器中!
我真的在努力解决这个问题,如果有人能帮助我,我会很高兴......
谢谢!
答案 0 :(得分:2)
您可以像URL.createObjectURL()一样使用Blob,如下所示:
var TxtFile = function(text) {
let data = new Blob([text], {
type: 'text/plain'
}),
file = window.URL.createObjectURL(data);
// revoke the URL after you're done using it.
function _revokeObjectUrl() {
window.URL.revokeObjectURL(textFile);
}
return {
file: file,
destroy: _revokeObjectUrl
};
};
const data = [{
"name": "John",
"id": 1,
"completed": "yes",
"prio": 3,
"importance": 2
},
{
"name": "Jim",
"id": 2,
"completed": "yes",
"prio": 4,
"importance": 4
}
];
const newData = data.map(o => ({
name: o.name,
id: o.id
}));
document.querySelector('a').href = new TxtFile(JSON.stringify(newData)).file;
//You can still access the array.
console.log(newData);
<a download>Download file</a>
答案 1 :(得分:0)