我是一名學習編程的新學生,我正試圖弄清楚一項作業。
我必須撰寫一個函式,當用戶以一對一的方式選擇另一個陣列中的值時,該函式將從一個陣列中回傳值。
除其他外,我還嘗試了以下方法,但它給出了一個參考錯誤(Apple未被定義;但Apple是第一個陣列中的一個元素)。
var valueFromSelect = apple;
for (var i = 0; i < fruits.length; i ){
if(valueFromSelect == fruits[i]){
console.log(price[i])。
break。
簡而言之,我想為每個被選中的水果回傳一個價格。下面是陣列的內容:
var fruits = ["Apple"/span>, "Orange"/span>, "香蕉"/span>, "梨"/span>, "菠蘿"/span>, "草莓"/span>, "藍莓"/span>] 。
var prices = [1.50, 1.20, 1. 05, 1.10, 3.00, 0.40, 0.10]
謝謝你。
uj5u.com熱心網友回復:
Apple值必須是一個字串,如果你的陣列包含字串。
var valueFromSelect = "蘋果"。
var fruits = ["Banana"/span>, "Orange"/span>, "Apple"/span>];
PS:你可以通過使用過濾器方法(來自Array prototype)來簡化你的代碼,如下所示:
var valueFromSelect = "蘋果"。
var fruits = ["Banana"/span>, "Orange"/span>, "Apple"/span>];
var result = fruits.filter(fruit => valueFromSelect == fruit)。
這將回傳一個Array,其中包含與你的Array中的專案相匹配的每個值。因此,如果result.length > 0你可以認為你的引數是'匹配'的。
uj5u.com熱心網友回復:
你得到的錯誤是因為為了讓JS理解Apple是一個字串,你必須用"(雙引號)或'(引號)包圍它。
現在的方式是告訴JS將存盤在你還沒有定義的名為Apple的東西中的值保存到valueFromSelect中。
例子:
'Apple'。
"Apple"。
這樣做應該是可以的:
var valueFromSelect = 'Apple'/span>;
for (var i = 0; i < fruits.length; i ){
if(valueFromSelect == fruits[i]){
console.log(price[i])。
break。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/333293.html
標籤:
上一篇:D3過時的鏈接仍然可見
