私は、文字列を並べ替えるために、このJavaScriptコードを持っているが、私はtoUpperCase
は通常ので、私はこのエラーを修正し、大文字に文字列を変換することができるかをコードする作業を削除した場合、エラーa.kがフィールド名を修正する方法は未定義のエラーですか?
var dataset = [{
"field1": "dfg34r",
"field2": "sdfsd"
}, {
"field1": "d3f32dg",
"field2": "fgjfgj"
}, {
"field1": "fdbhjjts",
"field2": "hswer"
}, {
"field1": "dfg4r",
"field2": "ghje"
}, {
"field1": "fgsdfwe",
"field2": "dhfke"
}];
function sort_col(evt){
var k = evt.target.innerText; //k = clicked field name field1 or field2
dataset.sort(function (a, b) {
var nameA = a.k.toUpperCase(); // error here a.k is undefined
var nameB = b.k.toUpperCase();
if (nameA < nameB) {
return -1;
}
if (nameA > nameB) {
return 1;
}
// names must be equal
return 0;
});
}
を定義されていないのですか?あなたはdot notation
使用する場合は、代わりにドット表記のこの文脈でbracket notation
を使用する必要が
はい、ありがとうございます。それは[k] .toUpperCase()です。 – Wel