2017-06-30 37 views
-2

我有代碼:變換數組的數組成可變

var filters = []; 
if (Locality && Locality != '') { 

    filters.push(["==", 'Locality', Locality]); 
} 

if (PriceStart && PriceStart != '') { 

    filters.push([">=", 'Price', PriceStart]); 
} 

if (PriceEnd && PriceEnd != '') { 

    filters.push(["<=", 'Price', PriceEnd]); 
} 

我需要打開一切入變量如實施例中,考慮到的是,陣列的位置是動態的:

var new_Filter = ["all", filters[0], filters[1], filters[2]]; 

有人可以幫助我嗎?

+1

從您所提供的代碼片段,它看起來像你已經得到了構建'new_Filter'你想要的方式代碼。除了您已經向我們展示的內容之外,您還需要什麼? – RJM

+0

我收到以下錯誤: evented.js:104錯誤:layers.unclustered-point.filter [1] [0]:預計[==,!=,>,> =,<,<= in,!in,all,any,none,has,!has],==,Locality,Lisboa found –

+0

該錯誤不是來自您上面發佈的代碼。你將不得不發佈你所有的相關代碼。這裏沒有足夠的信息來幫助你。 – RJM

回答

1

你的問題不是很清楚,但它好像你想要一段代碼,它將所有過濾器元素放入另一個名爲new_filters的數組中,其中new_filters的第一個元素爲「all」。

試試這個:

var new_filters = ["all"]; 
for(i = 0; i < filters.length; i++){ 
    new_filters.push(filters[i]); 
} 
+0

它的工作原理!那是他的意圖,但他想不到。謝謝! –