所以我查看了包括Finding All Combinations of JavaScript array values和https://codereview.stackexchange.com/questions/52119/calculate-all-possible-combinations-of-an-array-of-arrays-or-strings在內的多個數據源,並且仍然出現空白。在不改變原始數組的情況下迭代多維數組
我將字符串「35 w 35 ave」拆分爲" "
的數組,然後將其與數組進行比較。這裏是對象:
var addressObject = {
ave : ["av", "aven", "avenu", "avenue", "avn", "avnue"],
w : ["west", "wst", "w"]
};
我添加這var address = txtNode.val().split(' ');
它返回陣列['35','w','35','ave']
,然後我走陣列和把它通過一個嵌套forEach循環像這樣:
address.forEach(function(addressElement, indexOfAddressElement) {
var abbreviationMatch = addressObject.hasOwnProperty(addressElement);
if (abbreviationMatch) {
function addSentenceVariationsToAddressLists(arrayToLookAt) {
arrayToLookAt.forEach(function (anItem, a) {
var y = address.splice(indexOfAddressElement, 1, anItem);
addressLists.push(address.join(" "));
})
}
var elementsFromArray = addressObject[addressElement];
addSentenceVariationsToAddressLists(elementsFromArray);
}
});
console.log(addressLists);
這返回["35 west 35 ave", "35 wst 35 ave", "35 w 35 ave", "35 w 35 av", "35 w 35 aven", "35 w 35 avenu", "35 w 35 avenue", "35 w 35 avn", "35 w 35 avnue"]
我的問題是:如何將"ave"
的所有變體與"wst"
和"west"
而不是僅包含原始值的"w"
e的address
數組?
你爲什麼有' 「W」'在'addressObject'的'在首位w'財產。 – Redu
因爲當我把它拿出來的時候,它並沒有顯示在地址列表中,它只顯示「[35 35 west 35 ave」,「35 th 35 35 ave」,「35 th 35 35 av」,「35 th 35 35 aven」 ,「35歲35歲」,「35歲35歲」,「35歲35歲」,「35歲35歲」 –