我期待通過question_id分隔以下對象。基本上索引所有question_id在該索引內都是相同的。如何使用jQuery使用對象內的值進一步索引對象?
Array[13]
0
:
Object
answer:
"Water leaking"
appliance_id:
16
created_at:
"2016-11-03 22:32:49"
id:
32
question_id:
40
updated_at:
"2016-11-03 22:32:49"
__proto__:
Object
1
:
Object
answer:
"Front Loading"
appliance_id:
16
created_at:
"2016-11-03 22:33:16"
id:
33
question_id:
41
updated_at:
"2016-11-03 22:33:16"
__proto__:
Object
2
:
Object
answer:
"Yes"
appliance_id:
16
created_at:
"2016-11-03 22:33:23"
id:
34
question_id:
42
updated_at:
"2016-11-03 22:33:23"
__proto__:
Object
3
:
Object
answer:
"No"
appliance_id:
16
created_at:
"2016-11-03 22:33:30"
id:
35
question_id:
42
updated_at:
"2016-11-03 22:33:30"
__proto__:
Object
如何將它們分離出來分離出一個對象?
UPDATE JSON
[
{"id":32,"appliance_id":16,"question_id":40,"answer":"Water leaking","created_at":"2016-11-03 22:32:49","updated_at":"2016-11-03 22:32:49"},
{"id":33,"appliance_id":16,"question_id":41,"answer":"Front Loading","created_at":"2016-11-03 22:33:16","updated_at":"2016-11-03 22:33:16"},
{"id":34,"appliance_id":16,"question_id":42,"answer":"Yes","created_at":"2016-11-03 22:33:23","updated_at":"2016-11-03 22:33:23"},
{"id":35,"appliance_id":16,"question_id":42,"answer":"No","created_at":"2016-11-03 22:33:30","updated_at":"2016-11-03 22:33:30"},
{"id":36,"appliance_id":16,"question_id":43,"answer":"Yes","created_at":"2016-11-03 22:33:38","updated_at":"2016-11-03 22:33:38"},
{"id":37,"appliance_id":16,"question_id":43,"answer":"No","created_at":"2016-11-03 22:33:44","updated_at":"2016-11-03 22:33:44"},
{"id":38,"appliance_id":16,"question_id":44,"answer":"Yes","created_at":"2016-11-03 22:33:53","updated_at":"2016-11-03 22:33:53"},
{"id":39,"appliance_id":16,"question_id":44,"answer":"No","created_at":"2016-11-03 22:34:02","updated_at":"2016-11-03 22:34:02"},
{"id":40,"appliance_id":16,"question_id":45,"answer":"Just happened","created_at":"2016-11-03 22:34:16","updated_at":"2016-11-03 22:34:16"},
{"id":41,"appliance_id":16,"question_id":46,"answer":"1-3 years ago","created_at":"2016-11-03 22:34:30","updated_at":"2016-11-03 22:34:30"},
{"id":42,"appliance_id":16,"question_id":47,"answer":"Yes","created_at":"2016-11-03 22:34:35","updated_at":"2016-11-03 22:34:35"},
{"id":43,"appliance_id":16,"question_id":47,"answer":"No","created_at":"2016-11-03 22:34:39","updated_at":"2016-11-03 22:34:39"},
{"id":44,"appliance_id":16,"question_id":46,"answer":"3-5 years ago","created_at":"2016-11-03 23:20:25","updated_at":"2016-11-03 23:20:25"}
]
全碼
.done(function(response){
var questions = response.questions;
var answers = response.answers;
console.log(response.questions);
console.log(response.answers);
JSON.stringify(answers);
var question = $.map(response.questions, function (item) {
return item.question;
});
var question_id = $.map(response.questions, function (item) {
return item.id;
});
console.log(question);
console.log(question_id);
var q_id = 40;
// console.log(question);
var n = $(question).length;
var list = [];
for (var i = 1; i <= n; i++) {
list.push(i);
}
swal.setDefaults({
input: 'radio',
confirmButtonText: 'Next →',
showCancelButton: true,
animation: false,
progressSteps: list
})
// Get range of question indexes
var i = 0;
var hi = n - 1;
console.log(i);
console.log(hi);
// Sweet alert- Answers radio button
// inputOptions can be an object or Promise
var inputOptions = new Promise(function (resolve) {
setTimeout(function() {
resolve({
// ANSWERS TO GO IN HERE BY QUESTION
})
}, 1000)
})
var step = [
{
title: '',
input: 'radio',
inputOptions: inputOptions,
},
]
var steps = question.map((title) => {
var clone = Object.assign({}, step);
clone.title = title;
return clone;
});
console.log(steps);
swal.queue(steps).then(function (result) {
swal.resetDefaults()
swal({
title: 'All done!',
html:
'Your answers: <pre>' +
JSON.stringify(result) +
'</pre>',
confirmButtonText: 'Lovely!',
showCancelButton: false
})
}, function() {
swal.resetDefaults()
})
初始響應回答
最簡單的方法是用jquery'each'遍歷並抓取匹配的對象。 – Steve
然後我需要用正確的索引重新創建對象? –
其中,請顯示'JSON.stringify(array)'的結果,而不是複製粘貼出控制檯窗口。另外,http://stackoverflow.com/q/30735465/215552 –