У меня есть массив, содержащий 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 для лучшего понимания данных.
Как я могу это сделать?
ПРИМЕЧАНИЕ. Я в браузере!
Я действительно борюсь с этой проблемой и буду рад, если кто-то сможет мне помочь...
Благодарю!
Вы можете использовать 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>