में तरह पर हल कर देता है मैं निम्नलिखित कोड है:पूर्ववत जावास्क्रिप्ट
//data_r is an array with values
var i = 0;
var sort_order = new Array();
data_r.sort(function (a,b) {
var res = a[0] - b[0];
sort_order[i] = res;
i++;
return res;
});
अंत में, SORT_ORDER सरणी प्रदर्शन किया, जब हम आइटम अनुसार क्रमबद्ध कार्यों में शामिल है। मैं एक दूसरी सरणी पहले के रूप में ठीक उसी तरह सॉर्ट करने के लिए चाहते हैं, तो मैं निम्नलिखित कर सकते हैं:
//data_x is an array with values
var i = 0;
data_x.sort(function (a,b) {
i++;
return sort_order[i-1];
});
अब डेटा_ X सरणी data_r सरणी के रूप में ठीक उसी तरह क्रमबद्ध किया जाता है।
सवाल यह है कि, मैं data_r सरणी को कैसे पूर्ववत कर सकता हूं?
निम्नलिखित कोड गलत है:
var unsort = new Array();
for(var i = 0; i < data_r.length; i++)
unsort[i] = sort_order[i]*(-1);//-1 so we perfom the oposite action
क्यों, कृपया?
संपादित करें:
मैं सरणी की एक प्रतिलिपि नहीं कर सकता।
मेरे पास सरणी # 1 है। मैं इसे सॉर्ट करता हूं।
फिर मैं सरणी # 2 प्राप्त होता है लेकिन सरणी सरणी # 1 के आधार पर क्रमबद्ध किया जाता है।
मुझे सरणी # 2 पर सॉर्टिंग को उलट करने की आवश्यकता है।
संपादित करें 2:
सरणी # 1 = {9, 5, 3, 0, 2}
मैं सॉर्ट सरणी # 1:
सरणी # 1 = {0, 2, 3, 5, 9}
अब मैं प्राप्त सरणी # 2 # 1 सरणी के आधार पर छाँटे गए:
सरणी # 2 = { "घर", "कार", "ट्रेन", "पीसी", "माउस"}
मैं इस तरह सरणी # 2 बनाने की जरूरत है:
सरणी # 2 = { "माउस" पीसी "," ट्रेन "," घर "," कार "}
हल: http://jsfiddle.net/fQm3a/
क्या मतलब unsort करता है? – hop
वाह यह एक सुंदर साफ सवाल है। मैं कुछ घंटों में इसे देखने के लिए अपना दोपहर का भोजन तोड़ दूंगा –
क्या यह 'sortOrder [i] = res; 'होना चाहिए? कोई "जे" नहीं है। – Pointy