Javascript返回对具有基元值的数组索引的引用
我想返回对索引x处数组内容的引用,以便以后能够使用返回的索引更改数组的内容。 以下是我的意思的一个例子:Javascript返回对具有基元值的数组索引的引用,javascript,arrays,reference,Javascript,Arrays,Reference,我想返回对索引x处数组内容的引用,以便以后能够使用返回的索引更改数组的内容。 以下是我的意思的一个例子: let testArr = [1,2,3] const someFunct = arr => { ... return {reference to arr[0], aka 1} } someFunct(testArr) = 0; //should log [0,2,3] console.log(testArr); 在这种情况下,SomeFunctStarr的行为应类
let testArr = [1,2,3]
const someFunct = arr => {
...
return {reference to arr[0], aka 1}
}
someFunct(testArr) = 0;
//should log [0,2,3]
console.log(testArr);
在这种情况下,SomeFunctStarr的行为应类似于arr[0]。
数组的内容可以是任何内容。我不认为您试图在JavaScript中实现的确切实现是可能的 类似的东西:
const testArr = [1,2,3]
const changeArray = (array, index, newValue) => {
array[index] = newValue
return array
}
changeArray(testArr, 0, 0) // evaluates to [0,2,3]
我想返回一个推荐人
这是不可能的,JavaScript没有作为可返回值的引用。SomeFunctStarr=0;你想象的语法是无效的
相反,将新值作为参数:
function someFunct(arr, val) {
…
arr[0] = val;
}
someFunct(testArr, 0);
或者返回一个对象,该对象的方法执行以下赋值操作:
function someFunct(arr) {
…
return {
set(v) {
arr[0] = v;
}
};
}
someFunct(testArr) = 0;
试试这个:
函数数组rapperarr,索引,newVal{
让我们回到过去;
伊夫纽瓦尔{
arr[index]=newVal;
returnVal=arr;
}否则{
const obj={…arr};
returnVal=obj[索引];
}
返回值;
};
控制台。LogarrayRapper[1,2,3,4,5,6,7,8,9],5;///在索引处获取值
console.logarrayWrapper[1,2,3,4,5,6,7,8,9],5,'text';//设置IndexSomeFuncteStarr=0的值;你在这里想干什么??您还可以添加正确的输入和预期的输出SomeFunct应在某个索引处返回对testArray的引用,在这种情况下,0-SomeFunctStarr的行为应类似于testArr[0],即,为其赋值会将数组更改为[0,2,3]。testArr是输入,我不知道输出。我很确定这不是分配值的方式。。!!这就是我担心的:/我事先也不知道索引,它是由函数决定的