我有一個陣列
var arr = ['(', '1', 'AND', '2', ')', 'OR', '(', '3', 'AND', '4', ')']
首先,我想查找我的陣列是否包含一個元素,如果有該元素,然后用另一個字串替換它。
我試過以下
arr.find(element=>{
if(element == 1){
var elementIndex = arr.indexOf(1);
arr[elementIndex] = "Name = Test";
}
})
在這里,我在陣列中搜索“1”。但總是給我輸出為-1。
我做錯了什么?
uj5u.com熱心網友回復:
您應該map這樣使用陣列函式:
var arr = ['(', '1', 'AND', '2', ')', 'OR', '(', '3', 'AND', '4', ')'];
var newArray = arr.map(el => el === '1' ? 'new_value' : el);
將輸出:
[
"(",
"new_value",
"AND",
"2",
")",
"OR",
"(",
"3",
"AND",
"4",
")"
]
uj5u.com熱心網友回復:
與 trincot 所說的類似,您的 if 陳述句不正確。您的 if 陳述句正在查找數字 1。您的陣列具有字串“1”。
uj5u.com熱心網友回復:
var arr = ['(', '1', 'AND', '2', ')', 'OR', '(', '3', 'AND', '4', ')']
arr.find(element => {
if (element === '1') {
var elementIndex = arr.indexOf(element);
arr[elementIndex] = "Name = Test";
console.log(elementIndex)
}
})
uj5u.com熱心網友回復:
var arr = ["(", "1", "AND", "2", ")", "OR", "(", "3", "AND", "4", ")"];
const idx = arr.findIndex((el) => el === "1");
if (idx > -1) {
arr[idx] = "Name = Test";
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/505913.html
標籤:javascript 数组
上一篇:Java根據intn拆分字串
