Javascript JQuery : 对象不支持 属性 或方法 'toLowerCase'
Javascript JQuery : Object doesn't support property or method 'toLowerCase'
我正在 Javascript 中使用 Crossfilter 构建仪表板。
我在 Jquery 中使用此函数:
// d3's JSON call to grab the JSON data
d3.json("universe.json", function(error, data) {
// used by d3's dateFormat to parse the date correctly
var dateFormat = d3.time.format("%Y-%m-%dT%H:%M:%S");
// add map markers to map layer
data.forEach( function(d,i) {
d.date_e = dateFormat.parse(d.date_entered);
d.date_i = dateFormat.parse(d.date_issued);
});
var tableDimension = xdata.dimension(function(d) {
return d.pop.toLowerCase() + ' ' +
d.City.toLowerCase() + ' ' +
d.Province.toLowerCase() + ' ' +
d.zip.toLowerCase() + ' ' +
d.ward.toLowerCase();
});
这是我的数据样本:
错误:SCRIPT438:对象不支持 属性 或方法 'toLowerCase'
我正在使用 JQuery 的最新版本:https://github.com/jquery/jquery-ui/blob/master/external/jquery-2.0.2/jquery.js
[
{
"KMIST_TEMP_ID": "KTMPVN12119",
"ID POP": "",
"type": 2018,
"pop": "No",
"name": "Nha Thuoc An Binh",
"Country": "",
"Province": "Ho Chi Minh Province",
"City": "Ho Chi Minh",
"zip": "Thu Duc",
"ward": "Linh Trung",
"name_full": "Ho Chi Minh ,Nha Thuoc An Binh ,Thu Duc, Linh Trung",
"latitude": 10.8539167,
"longitude": 106.7716921,
"geo": "106.7716921,10.8539167",
"amenity": "pharmacy",
"date_entered": "2015-10-30T00:00:00",
"date_issued": "2015-10-30T00:00:00"
}
]
知道这里出了什么问题吗?
尝试使用 d ["pop"] 而不是 d.pop 并使用所有密钥。恐怕 javascript 不会区分您的键和字典功能。
你好,如果你的 d 是你作为样本数据编写的整个对象,那么它是一个 array.so 你必须使用索引来操作你的数据。
var tableDimension = xdata.dimension(function(d) {
return d[0].pop.toLowerCase() + ' ' +
d[0].City.toLowerCase() + ' ' +
d[0].Province.toLowerCase() + ' ' +
d[0].zip.toLowerCase() + ' ' +
d[0].ward.toLowerCase();
});
如果不是这种情况,那么所有看起来 appropriate.try 一个一个地删除 .toLowerCase() 并检查其中出现错误。
我正在 Javascript 中使用 Crossfilter 构建仪表板。
我在 Jquery 中使用此函数:
// d3's JSON call to grab the JSON data
d3.json("universe.json", function(error, data) {
// used by d3's dateFormat to parse the date correctly
var dateFormat = d3.time.format("%Y-%m-%dT%H:%M:%S");
// add map markers to map layer
data.forEach( function(d,i) {
d.date_e = dateFormat.parse(d.date_entered);
d.date_i = dateFormat.parse(d.date_issued);
});
var tableDimension = xdata.dimension(function(d) {
return d.pop.toLowerCase() + ' ' +
d.City.toLowerCase() + ' ' +
d.Province.toLowerCase() + ' ' +
d.zip.toLowerCase() + ' ' +
d.ward.toLowerCase();
});
这是我的数据样本:
错误:SCRIPT438:对象不支持 属性 或方法 'toLowerCase'
我正在使用 JQuery 的最新版本:https://github.com/jquery/jquery-ui/blob/master/external/jquery-2.0.2/jquery.js
[
{
"KMIST_TEMP_ID": "KTMPVN12119",
"ID POP": "",
"type": 2018,
"pop": "No",
"name": "Nha Thuoc An Binh",
"Country": "",
"Province": "Ho Chi Minh Province",
"City": "Ho Chi Minh",
"zip": "Thu Duc",
"ward": "Linh Trung",
"name_full": "Ho Chi Minh ,Nha Thuoc An Binh ,Thu Duc, Linh Trung",
"latitude": 10.8539167,
"longitude": 106.7716921,
"geo": "106.7716921,10.8539167",
"amenity": "pharmacy",
"date_entered": "2015-10-30T00:00:00",
"date_issued": "2015-10-30T00:00:00"
}
]
知道这里出了什么问题吗?
尝试使用 d ["pop"] 而不是 d.pop 并使用所有密钥。恐怕 javascript 不会区分您的键和字典功能。
你好,如果你的 d 是你作为样本数据编写的整个对象,那么它是一个 array.so 你必须使用索引来操作你的数据。
var tableDimension = xdata.dimension(function(d) {
return d[0].pop.toLowerCase() + ' ' +
d[0].City.toLowerCase() + ' ' +
d[0].Province.toLowerCase() + ' ' +
d[0].zip.toLowerCase() + ' ' +
d[0].ward.toLowerCase();
});
如果不是这种情况,那么所有看起来 appropriate.try 一个一个地删除 .toLowerCase() 并检查其中出现错误。