我看到一個循環的輸出,其結果爲:0,1,10,11,12,2,3 ,4,5等帶有輸出的JavaScript循環:0,1,10,11,12,2,3,4,5
我知道上面的循環是錯誤的和不尋常的,也許你問這個循環的用法是什麼,但我想知道我該如何實現這一點。
感謝
我看到一個循環的輸出,其結果爲:0,1,10,11,12,2,3 ,4,5等帶有輸出的JavaScript循環:0,1,10,11,12,2,3,4,5
我知道上面的循環是錯誤的和不尋常的,也許你問這個循環的用法是什麼,但我想知道我該如何實現這一點。
感謝
你可以使用數字和其排序爲Array#sort
與構建字符串沒有回調。此方法使用按字符串排序。
var array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
array.sort();
console.log(array);
或者你可以建立一個樹,並與深度number
財產優先第一alogrithm閱讀。
var i,
tree = {};
for (i = 0; i < 13; i++) {
i.toString().split('').reduce(function (r, c, i, cc) {
r[c] = r[c] || {};
if (i + 1 === cc.length) {
r[c].number = true;
}
return r[c];
}, tree);
}
Object.keys(tree).forEach(function iter(object, value) {
object.number && console.log(value);
return function(k) {
k === 'number' || Object.keys(object[k]).forEach(iter(object[k], value + k));
};
}(tree, ''));
console.log(tree);
.as-console-wrapper { max-height: 100% !important; top: 0; }
謝謝,可能是另一種方式? –
@MasoudGhorbani,請參閱編輯。 –
如果列表/數組的元素是整數,那麼它的無序。如果他們是字符串,那麼它是正確的。 –
你是否要求JS代碼設計一個循環來打印這些數字? –
什麼循環?你所顯示的只是一些數字而沒有代碼。這不是代碼寫作或家庭作業服務。請通讀[問] – charlietfl