[英]How to reuse a function in javascript with different variables
我有一组按钮,单击它们会触发 function 将它们的 ID 切换到一个名为MyArray
的数组
function AddToArray(a, v) {
var v = this.id
var a = myArray
var i = a.indexOf(v);
if (i === -1)
a.push(v);
else
a.splice(i,1);
}
我想将相同的 function 用于一组不同的按钮。 我不想将他们的 ID 切换到MyArray
,而是希望将它们切换到MySecondArray
目前,我简单有两个独立的功能,但重复代码似乎是错误的。
我考虑将数据属性添加到值为MyArray
或MySecondArray
的按钮,然后将此字符串转换为变量以推送到相关数组。 我明白虽然使用诸如eval()
之类的函数可能是不安全的。
因此,我想知道在一般重用功能方面,最好的方法是什么?
function toggleToArray(arr, id) {
const i = arr.indexOf(id);
return i === -1 ? [...arr, id] : arr.filter(val => val !== id);
}
// add if id does not exist
const myArr = toggleToArray(['a', 'b', 'c'], 'd');
console.log('toggltoarray.js: 8 myArr ', myArr);
// remove if exists
const myArr1 = toggleToArray(myArr, 'd');
console.log('toggltoarray.js: 12 myArr1 ', myArr1);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.