JSFiddle - React, Tailwind, and code Playground

by sm1215

JavaScript

//Exercise, rearrange this string so the words appear in numerical order based on what number is in what word.

//Sample: is2 Thi1s T4est 3a
//Result: Thi1s is2 3a T4est

console.log(order('is2 Thi1s T4est 3a'));

function order(words) {

    if (words.length < 1) {
        return '';
    }

    var wArray = words.split(' ');
	
	wArray.sort(function(a, b){
		var aLetters = a.split(''),
			bLetters = b.split(''),
			aNum, bNum;
		
		for(i = 0; i < aLetters.length; i++){
			if(parseInt(aLetters[i])){
				aNum = aLetters[i];
			}
		}
		
		for(i = 0; i < bLetters.length; i++){
			if(parseInt(bLetters[i])){
				bNum = bLetters[i];
			}
		}
		
		if(aNum < bNum){
			return -1;
		}
		if(aNum > bNum){
			return 1;
		}
		if(aNum === bNum){
			return 0;
		}
		
	});
	
	return wArray.join(' ');
	
}