私が抱えている問題は、.toString() を使用すると機能しないことですが、値を jQuery ($) でラップすると、代わりに jquery オブジェクトが取得されます。object.toString() を操作するか、jQuery オブジェクトで値を取得するための解決策があればよいでしょう。
rows.each(function () {
var val = $(this).attr('id');
if ($.inArray(val, levels) == -1) {
levels.unshift(val);
}
});
$(levels).each(function (i, value) {
for (var x = 0; x < 3; x++) {
var tmp = value.toString();
if (x == 1) {
console.log("level 2: " + tmp.substring(0, tmp.lastIndexOf('-')));
}
else if (x == 2) {
console.log("level 1: " + tmp.substring(0, tmp.indexOf('-')));
}
else {
console.log("level 3: " + tmp.toString());
}
console.log(tmp);
}
});