我是一個完全的初學者,所以如果有人在評論中發布完整的解決方案會非常有幫助。
我正在嘗試解決 edabit 上的以下挑戰:
創建一個函式,該函式接受一個陣列并在新陣列中回傳值的型別(資料型別)。
arrayValuesTypes([1, 2, "null", []])
// expected output ? ["number", "number", "string", "object"]
arrayValuesTypes(["214", true, false, 2, 2.15, [], null])
// expected output ? ["string", "boolean", "boolean", "number", "number", "object", "object"]
arrayValuesTypes([21.1, "float", "array", ["I am array"], null, true, 214])
// expected output ? ["number", "string", "string", "object", "object", "boolean", "number"]
到目前為止,我有這個:
arr = [1, 2, "null", []]
function arrayValuesTypes(arr) {
for (let i = 0; i < arr.length; i ) {
return typeof arr[i]
}
}
// output ?
// 'number'
但是當我將“回傳”更改為 console.log 時,它會給我一個更接近我想要的結果。這是為什么?
arr = [1, 2, "null", []]
function arrayValuesTypes(arr) {
for (let i = 0; i < arr.length; i ) {
console.log(typeof arr[i])
}
}
// output ?
// 'number'
// 'number'
// 'string'
// 'object'
uj5u.com熱心網友回復:
這是為什么?
因為return內部 afunction將回傳值并因此停止函式,無論for回圈如何。
所以使用map()它應用于陣列中的每個專案,然后回傳由map以下方法創建的陣列:
function arrayValuesTypes(arr) {
return arr.map(tmp => typeof tmp);
}
const tests = [
[1, 2, "null", []],
["214", true, false, 2, 2.15, [], null],
[21.1, "float", "array", ["I am array"], null, true, 214]
];
for (let testIndex in tests) {
console.log(arrayValuesTypes(tests[testIndex]));
}
["number", "number", "string", "object"]
["string", "boolean", "boolean", "number", "number", "object", "object"]
["number", "string", "string", "object", "object", "boolean", "number"]
uj5u.com熱心網友回復:
當你寫'return'時,它會回圈一次然后停止。為什么?因為 return 停止了動作。在這種情況下,它會停止回圈。這就是為什么你得到陣列型別編號中第一項的輸出
uj5u.com熱心網友回復:
這應該做的作業:
let arr = [1, 2, "null", []]
function arrayValuesTypes(arr) {
return arr.map(a=>typeof a)
}
uj5u.com熱心網友回復:
試試這個:
arr = [1, 2, "null", []]
function arrayTypes(arr) {
//Create an empty list to hold values
arrayWithTypes = []
//Loop
for (var x of arr) {
//Push values in the above empty list
arrayWithTypes.push(String(typeof(x)))
}
//Return the final array
return arrayWithTypes
}
console.log(arrayTypes(arr))
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/395768.html
標籤:javascript
下一篇:承諾解決未定義的值
