我需要从不同的javascript文件访问数据,并将其更改为字符串
我需要访问此格式的数据才能与Chart.js一起使用:我需要从不同的javascript文件访问数据,并将其更改为字符串,javascript,string,Javascript,String,我需要访问此格式的数据才能与Chart.js一起使用: var dataArrays = { id: 1, time : [1543855884861,1543855889279], parsetTimestamp: ["3 Dec 2018 17:51:24","3 Dec 2018 17:51:29"], temperature: [23.4,24.4], humidity: [38,40], light: [1000,1100], soil: [750,800]
var dataArrays = {
id: 1,
time : [1543855884861,1543855889279],
parsetTimestamp: ["3 Dec 2018 17:51:24","3 Dec 2018 17:51:29"],
temperature: [23.4,24.4],
humidity: [38,40],
light: [1000,1100],
soil: [750,800],
fanIn: [1,0],
fanOut: [0,1],
ledIntensity: [1024,1024]
}
我需要从不同的js文件获取数据,格式如下:
var dataArrays.time = [data1.time, data2.time];
var数据=[{
名称:'管',
时间:1546614557692,
温度:23,,
湿度:49,
灯光:1718,
土壤:1024,
法宁:0,,
扇出:0,
发光强度:1024
},
{
名称:'管',
时间:1546614557697,
温度:23,,
湿度:49,
灯光:1721,
土壤:1024,
法宁:0,,
扇出:0,
发光强度:1024
}
]
我想我可以添加来自不同变量的数据,如下所示:
var dataArrays.time = [data1.time, data2.time];
但我没有两个变量,只有一个变量包含所有数据,它位于不同的文件中
有什么方法可以做到这一点吗?嗯,您可以根据自己的需要创建变量。 例如: 然后你可以用它来表示你在问题中的表现 对于访问不同的javascript文件,如果这是在节点运行时,您可以使用
require
,如果不是,可能会对您有所帮助
希望有帮助 如果您只想合并数组的对象,可以使用
array.prototype.reduce
进行合并
只需迭代数组数据中包含的对象的键,合并重复的键并将它们放入数组中,然后将其分配给累积的合并的对象
var数据=[{
名称:'管',
时间:1546614557692,
温度:23,,
湿度:49,
灯光:1718,
土壤:1024,
法宁:0,,
扇出:0,
发光强度:1024
},
{
名称:'管',
时间:1546614557697,
温度:23,,
湿度:49,
灯光:1721,
土壤:1024,
法宁:0,,
扇出:0,
发光强度:1024
}
]
var合并=数据减少((acc,ele)=>{
用于(输入ele){
acc[键]=acc[键]?acc[键].concat(ele[键]):[ele[键];
}
返回acc;
},{});
console.log(合并)
您可以使用reduce函数将数据
数组组合成一个组合对象数据数组
var res = {
id: 1,
time : [],
parsetTimestamp: [],
temperature: [],
humidity: [],
light: [],
soil: [],
fanIn: [],
fanOut: [],
ledIntensity: []
};
dataArray = data.reduce(function(res, cur) {
res.id = 1,
res.time.push(cur.time);
res.temperature.push(cur.temparature);
res.humidity.push(cur.humidity);
// etc etc
return res; // have to return in reduce
} , res); // initial value
我已经注意到“id”和“name”之间存在差异,我需要使用变量数据中的“name”,我将在代码中修复它,因此您希望数据数组中的对象属性值由数据中的对象属性组成。谢谢,这很有效。我唯一的问题是,var数据存储在不同的文件中,由于我将收到的数据量很大,我不想将其重写,我可以以某种方式在该文件中引用它吗?我可能应该说的是,这些文件也在不同的文件夹中,一个在源代码/fronded
中,另一个在源代码/Server\u Backend
@DaanR中。这个答案可能会对您有所帮助,或者您也可以通过http将其作为JSON提供?以便前端代码可以对其进行解析: