Javascript迭代对象
问题描述:
状态变量是我正在处理的数据。数字是optionIds。Javascript迭代对象
var state = {0: {classification: 'uretim', description: 'Planlı Uretim'},
1: {classification: 'uretim', description: 'Plansız Uretim'},
2: {classification: 'hata', description: 'Planlı Hata', color: 'red'},
3: {classification: 'hata', description: 'Plansız Hata', color: '#ff6666'},
4: {classification: 'yokluk', description: 'Planlı Yokluk', color: 'grey'},
5: {classification: 'yokluk', description: 'Plansız Yokluk', color: '#D3D3D3'},
6: {classification: 'kurulum', description: 'Planlı Kurulum', color: 'blue'},
7: {classification: 'kurulum', description: 'Plansız Kurulum', color: '#ADD8E6'}
};
在此函数中,状态对象中的值正在分类。但目前它不能正常工作。 “我”变量应该保持相同的分类。例如,对于“uretim”它不应该改变,则必须为“0”为0和1 optionIds
function createData(state, data) {
var dataSet = [];
var i = 0;
for (var optionId in state) {
if (state.hasOwnProperty(optionId)) {
dataSet.push({
label: state[optionId].description,
//In this line "i" should be same value for the same classifications. For instance it should be 0 for "uretim"(0 and 1 optionIds)
data: [[i, count]]
});
i++;
}
}
return dataSet;
}
状态变量的结构不应该被改变。请注意。
答
var state = {0: {classification: 'uretim', description: 'Planlı Uretim'},
1: {classification: 'uretim', description: 'Plansız Uretim'},
2: {classification: 'hata', description: 'Planlı Hata', color: 'red'},
3: {classification: 'hata', description: 'Plansız Hata', color: '#ff6666'},
4: {classification: 'yokluk', description: 'Planlı Yokluk', color: 'grey'},
5: {classification: 'yokluk', description: 'Plansız Yokluk', color: '#D3D3D3'},
6: {classification: 'kurulum', description: 'Planlı Kurulum', color: 'blue'},
7: {classification: 'kurulum', description: 'Plansız Kurulum', color: '#ADD8E6'}
};
function classification(state){
var dataSet = [];
var i = 0;
let classKeys={}
for (var optionId in state) {
if (state.hasOwnProperty(optionId)) {
if(!classKeys[state[optionId].classification]){
classKeys[state[optionId].classification]=i
i++
}
dataSet.push({
label: state[optionId].description,
data:{classKey:classKeys[state[optionId].classification,count}
});
}
}
console.log(dataSet);
}
您需要保存0,1,2 ....对于每一个分类成的ClassKey 希望它的见解东西 干杯..
请校对你的标题。 – 2016-07-26 16:15:02
你是什么意思,“它不应该改变”?那么不要'我++'? – Bergi