javascript - Is there a way to sort two parallel arrays like i am trying to -
i working on program sort parallel set of arrays. program suppose sort first array myarray.sort() method/function. second arrays values should stay in line first arrays sort when program prints both of them out. think close solving cant quite wrap head around it.the sortarrays() function logic needs work rest works perfectly. appreciated.
javascript
var employeename = []; var employeesal = []; var tmparrayname = []; var tmparraysal = []; var arraysize = 0; function getinfo() { arraysize = parseint(prompt("how many employee records adding today?")); while (isnan(arraysize)) { arraysize = parseint(prompt("error: please enter valid positive number question (how many employee records adding today?)")); } (var l = 0; l < arraysize; l++) { employeename[l] = prompt("please enter employee's last name , first name (ex: wayne john)"); employeesal[l] = parseint(prompt("please enter employee's yearly salary (ex: 62000)")); while (isnan(employeesal[l])) { employeesal[l] = parseint(prompt("please enter employee's yearly salary (ex: 62000)")); } } tmparrayname = employeename; tmparraysal = employeesal; employeename.sort(); sortarrays(); printresult(); } function sortarrays() { var index = 0; (var = 0; < employeename.length; i++) { index = employeename.indexof(tmparrayname[i]); employeesal[index] = tmparraysal[i]; } } function printresult() { (var k = 0; k < employeename.length; k++) { document.write('' + employeename[k] + ' ' + employeesal[k] + '<br/>'); } } html
<body onload="getinfo()"> <div id ="content"> </div> </body>
the problem not making copy of arrays, referencing original ones. make copy, use slice:
tmparrayname = employeename; tmparraysal = employeesal; should
tmparrayname = employeename.slice(0); tmparraysal = employeesal.slice(0);
Comments
Post a Comment