js求數(shù)組中全部數(shù)字可拼接出的最大整數(shù)示例代碼
前言
最近在工作碰到一個(gè)問題,就是用javascript求數(shù)組中所有數(shù)字能拼接出的最大整數(shù),數(shù)組的每一項(xiàng)為單獨(dú)的拼接項(xiàng),不能再拆開,例如[2,34]中2和34分別為要被拼接的數(shù)字,而不是說34還能繼續(xù)拆分為3和4。
具體需求為,將[7,321,35,4]拼接為7435321。下面話不多說了,來一起看看詳細(xì)的實(shí)現(xiàn)方法吧。
我設(shè)計(jì)的算法如下:
function insertSort(arr) {
let res = [arr[0]];
for (let i = 1, len = arr.length; i < len; i++) {
let temp = arr[i];
for (let j = i - 1; j >= 0; j--) {
if (!compareNum(res[j],temp)) {
res[j + 1] = res[j];
res[j] = temp;
} else {
res[j + 1] = temp;
break;
}
}
}
return res;
}
function compareNum(a,b) {
a =""+a;
b = ""+b;
let aLen=a.length;
let bLen=b.length;
let aIndex=0;
let bIndex=0;
while (aIndex<aLen && bIndex<bLen){
let flag=false;
if (a[aIndex]==b[bIndex]){
aIndex+1<aLen && (aIndex++,flag=true);
bIndex+1<bLen && (bIndex++,flag=true);
}else{
break;
}
if (!flag){
break;
}
}
if (a[aIndex]>b[bIndex]){
return true;
}else{
return false;
}
}
let arr=[5,2,1,38];
// let arr=[5,2,1,38,52,4,5,593,8,55,555,492,493,7,9,61,66,6];
// let arr=[5,2,1,38,52,4,5,593,61,6];
function toInt(arr) {
let newArr=insertSort(arr);
document.write(newArr);
return newArr.join("");
}
let intNum=toInt(arr);
console.log(intNum);
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- 分享JS數(shù)組求和與求最大值的方法
- JavaScript學(xué)習(xí)筆記之?dāng)?shù)組求和方法
- Javascript計(jì)算二維數(shù)組重復(fù)值示例代碼
- 計(jì)算100000數(shù)組js腳本的執(zhí)行時(shí)間
- 求js數(shù)組的最大值和最小值的四種方法
- javascript中數(shù)組中求最大值示例代碼
- JavaScript求一個(gè)數(shù)組中重復(fù)出現(xiàn)次數(shù)最多的元素及其下標(biāo)位置示例
- JS求多個(gè)數(shù)組的重復(fù)數(shù)據(jù)
- JS求Number類型數(shù)組中最大元素方法
- JS實(shí)現(xiàn)求數(shù)組起始項(xiàng)到終止項(xiàng)之和的方法【基于數(shù)組擴(kuò)展函數(shù)】
- JavaScript實(shí)現(xiàn)數(shù)組全排列、去重及求最大值算法示例
- JS數(shù)組求和的常用方法實(shí)例小結(jié)
相關(guān)文章
javascript中的previousSibling和nextSibling的正確用法
這篇文章主要介紹了javascript中的previousSibling和nextSibling的正確用法的相關(guān)資料,需要的朋友可以參考下2015-09-09
中國地區(qū)三級(jí)聯(lián)動(dòng)下拉菜單效果分析
主要的數(shù)據(jù)和功能實(shí)現(xiàn)都是在js文件中,網(wǎng)上找的地區(qū)數(shù)據(jù)有的地方不完整,需要自己添加,本文將詳細(xì)介紹2012-11-11
JavaScript進(jìn)階知識(shí)點(diǎn)作用域詳解
這篇文章主要介紹了JavaScript進(jìn)階講解一作用域,主要包括作用域、函數(shù)、閉包、面向?qū)ο?、ES新特性、事件循環(huán)、微任務(wù)、宏任務(wù)、內(nèi)存管理、Promise、await、?asnyc、防抖、節(jié)流等等知識(shí)點(diǎn),需要的朋友可以參考下2022-05-05
JS驗(yàn)證日期的格式Y(jié)YYY-mm-dd 具體實(shí)現(xiàn)
這篇文章介紹了JS對(duì)日期格式的驗(yàn)證實(shí)例,有需要的朋友可以參考一下2013-06-06
基于javascript實(shí)現(xiàn)動(dòng)態(tài)時(shí)鐘效果
這篇文章主要為大家詳細(xì)介紹了基于javascript實(shí)現(xiàn)動(dòng)態(tài)時(shí)鐘效果的相關(guān)資料,動(dòng)態(tài)顯示系統(tǒng)當(dāng)前時(shí)間,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-02-02
js 數(shù)組當(dāng)前行添加數(shù)據(jù)方法詳解
這篇文章主要介紹了js 數(shù)組當(dāng)前行添加數(shù)據(jù)方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
js實(shí)現(xiàn)rem自動(dòng)匹配計(jì)算font-size的示例
本篇文章主要介紹了js實(shí)現(xiàn)rem自動(dòng)匹配計(jì)算font-size的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11
TypeScript實(shí)現(xiàn)字符串轉(zhuǎn)樹結(jié)構(gòu)的方法詳解
有一個(gè)多行字符串,每行開頭會(huì)用空格來表示它的層級(jí)關(guān)系,每間隔一層它的空格總數(shù)為2,如何將它轉(zhuǎn)為json格式的樹型數(shù)據(jù)?本文就跟大家分享下這個(gè)算法2022-09-09

