Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在js中内联声明变量?_Javascript - Fatal编程技术网

Javascript 如何在js中内联声明变量?

Javascript 如何在js中内联声明变量?,javascript,Javascript,我想内联声明变量,并在同一行中使用它。比如: (var arr = ['1', '2']).forEach(a => alert(arr)) 但它给了我一个意外的标记“var”。那么在js中有可能吗 编辑:这只是一个例子。我真正的用例是: var arr = [{id: 1, tags: [1, 2]}, {id: 2, tags: [5,6]}] (var f = arr.find(item => item.id == 1)).tags.map(t => t + f.id)

我想内联声明变量,并在同一行中使用它。比如:

(var arr = ['1', '2']).forEach(a => alert(arr))
但它给了我一个意外的标记“var”。那么在js中有可能吗

编辑:这只是一个例子。我真正的用例是:

var arr = [{id: 1, tags: [1, 2]}, {id: 2, tags: [5,6]}]
(var f = arr.find(item => item.id == 1)).tags.map(t => t + f.id)

我希望避免单独声明,因为我正在创建一个链接库,这样所有内容都应该以一种干净的方式在一行中链接在一起。但是,您似乎希望在循环中有一个对数组的引用。可以使用传入的参数,该参数是对原始数组的引用


['1','2'].forEachitem,index,arr=>console.logitem,arr使用eval创建变量,使用callback显示数据

函数declare_varvr,vl,s{ 评估“窗口”。+vr+”=“+vl+”;”; 求值'swindow.+vr+';' }
声明_var'i_am_var','[1,2,3,4,5]',r=>{r.forEacha=>console.loga} 这是不可能的,因为JavaScript中没有

我希望避免单独声明,因为我正在创建一个链接库,以便所有内容都应该以干净的方式在一行中链接在一起

为此,请使用:

如果您不想颠倒顺序,请在链接库中设置一个接受回调的函数-然后用户可以多次引用回调中的值,该值是最接近内联声明的值:

pipe(arr.find(item => item.id == 1), f => f.tags.map(t => t + f.id)).forEach(a => alert(a));

// or with destructuring:
pipe(arr.find(item => item.id == 1), ({id, tags}) => tags.map(t => t + id)).forEach(a => alert(a));
另请参见或了解一些背景信息。

我最后得出以下结论:

Array.prototype.tap = function(callback){callback(this); return this;}
[1, 2].tap(arr => arr.forEach(a => alert(a + '_' +arr)))

这是不需要的var arr=您想做什么?这似乎是一个不,这是不可能的。不过你可以过一辈子。你在这里需要arr做什么?您可以在一个文本上调用forEach:;['1','2'].forEacha=>alerta我建议常数a为['1','2']alerta;。这只是一个例子。我正在用链接语法创建一个库,我想在一节中声明变量,以后再使用。@Bergi我想避免单独声明,因为我正在创建一个链接库,这样每件事都应该以一种干净的方式在一行中链接在一起,但这将满足OP的示例,但我仍然不太清楚它们到底在追求什么。这个问题看起来还是个XY问题。谢谢。你还可以添加一个注释,在js中声明内联变量是不可能的吗?你在comment和plus中提到的注释,第一个没有返回修改过的数据,对吗?执行这个:var arr=[{id:1,标记:[1,2]},{id:2,标记:[5,6]}];var aa=f=>f.tags.mapt=>t+f.idarr.finditem=>item.id==1alertaa@yaya除了缺少分号外,这也可以。简写箭头符号确实返回表达式结果。
Array.prototype.tap = function(callback){callback(this); return this;}
[1, 2].tap(arr => arr.forEach(a => alert(a + '_' +arr)))