I'm trying to make something pretty simple, but my code looks awful, and I'm sure there is a better way to do something in javascript. I am new to javascript and I am trying to improve my encoding. It is just very unpleasant.
All I want to do is randomly reorder some words on a web page. In python, the code would look something like this:
s = 'THis is a sentence'
shuffledSentence = random.shuffle(s.split(' ')).join(' ')
However, this is a monster that I managed to create in javascript
function mySort(a,b) {
return a.sortValue - b.sortValue;
}
function scrambleWords() {
var content = $.trim($(this).contents().text());
splitContent = content.split(' ');
var tempArray = new Array(splitContent.length);
for (var i = 0; i < splitContent.length; i++) {
var tmpObj = new Object();
tmpObj.sortValue = Math.random();
tmpObj.string = splitContent[i];
tempArray[i] = tmpObj;
}
tempArray.sort(mySort);
for (i = 0; i < splitContent.length; i++) {
splitContent[i] = tempArray[i].string;
}
content = splitContent.join(' ');
$(this).text(content);
}
Can you help me simplify things?
source
share