在第二个控制台上,它显示一些数据,但在第一个控制台日志上为空。我该如何解决这个问题?
var Network_data = navigator.connection;
console.log(JSON.stringify(Network_data));
console.log(Network_data);
答案 0 :(得分:3)
JSON.stringify
不起作用,因为对象本身没有任何属性,它们都属于其父对象。您应该使用for in
循环来获取每个密钥。
var networkData = {};
for (var key in navigator.connection) {
if (typeof navigator.connection[key] !== "function") {
networkData[key] = navigator.connection[key];
}
}
console.log(JSON.stringify(networkData));
console.log(networkData);
答案 1 :(得分:3)
如果不需要任何原型属性,可以使用
df %>%
mutate_at(vars(matches("^W[0-9]+")), funs(ifelse(. < CP, 0, .)))
答案 2 :(得分:0)
只是想补充一个正确的答案,即JSON.stringify
不会序列化继承的属性,而只会序列化对象拥有的属性,也不会对函数和循环引用进行字符串化。
在实例上运行Object.keys的证明将返回一个空集,因为navigator.connection
不拥有任何属性
console.log(Object.keys(navigator.connection));
Object.keys()方法返回给定对象自身属性名称的数组