我試圖讓這工作作爲我可以在任何字符串當作一個函數調用一個函數來獲取使用.map
的true
返回的值,然後以數組形式false
報表 -我不能得到這個作爲一個JavaScript函數(我得到我想要的返回值,當我console.log這個,但我不能稱它爲一個函數)
我瞭解.map
作品,並能得到它返回我希望在一個值new array
當我console.log(lastArray)
但我不能讓它的功能,我可以調用字符串lastArray(dirtyString)
或finalArray("the cat pop racecar blue")
和[false, false, true, true, false]
。我不能使用任何循環,必須使用.map
(但我已經解決了這些問題,因爲只有console.log-ing finalArray
爲我返回一個正確的值的新數組...我可以看不到我做錯了&當我試圖重新工作,我得到Undefined
。我想保留我的方法,我只是不知道爲什麼它不能作爲我可以調用的函數工作(&我已經完成了數小時的在線調查並已在此工作幾天)另外,對不起,我的代碼是如此混亂&有時冗餘&嚴重評論(我剛剛嘗試了很多方式試圖讓它工作,我是一種新的CS & JS)此外,當試圖調用字符串上的函數時,它也會返回錯誤。以下是我的代碼:
/* split string into array of substrings, clean out extra spaces, return new array of substrings */
var dirtyString = ("stash and pop on this level");
var cleanArray = function(dirtyString){
var splitString = dirtyString.split(" ");
var cleanArray = splitString.filter(Boolean);
return cleanArray;
};
var newArray = cleanArray(dirtyString);
/* take each element of the array, if it's a palindrome, add a true element to new array using map; if it's not, add a false element to the new array... using map */
///helper function that returns correct value when I console.log it///
var lastArray = newArray.map(function(x) {
if (x === x.split("").reverse().join("")){
return true;}
else {
return false;}
});
*/attempting to put the logic in lastArray into a function I can call /*
var palindromicMap = function (dirtyString) {
var cleanedArray = cleanArray(dirtyString);
var output = cleanedArray.map(function(x){
if (x === x.split("").reverse().join("")){
return true;}
else if (x !== x.split("").reverse().join("")){
return false;}
});
return output;
};
console.log(lastArray);
*/returns correct outcome /*
palidromicMap(cleanArray);
*/returns error /*
palindromicMap("cat pop racecar blue");
*/returns error/*
這真的是你用於'if/else'語句的支撐風格嗎? – jfriend00
你也可以做'return x === x.split(「」)。reverse()。join(「」)' – Rajesh
***我的意思是lastArray(){not finalArray()} - 對不起,數組太多變量... – KindeR66