如何将JavaScript数组转换为元素
我有一个如何将JavaScript数组转换为元素,javascript,arrays,string,Javascript,Arrays,String,我有一个数组 var fieldsToFetch = ['name', 'class', 'rollNumber']; 我在查询中使用这个数组,简单地说,我对ORM说,这就是我想要获取的字段 Person.find({ surname: "Doe" }).limit(3).offset(2).only("name", "class", "rollNumber").run(function (err, people) { // returning only 'name', 'rollNu
数组
var fieldsToFetch = ['name', 'class', 'rollNumber'];
我在查询中使用这个数组,简单地说,我对ORM说,这就是我想要获取的字段
Person.find({ surname: "Doe" }).limit(3).offset(2).only("name", "class", "rollNumber").run(function (err, people) {
// returning only 'name', 'rollNumber' and 'class' properties
//this is working fine
});
在这段代码中,您可以看到采用字段名的.only()
函数。如果我在这里用逗号分隔名称,那么它工作得很好,但是如果我喜欢这样
Person.find({ surname: "Doe" }).limit(3).offset(2).only(fieldsToFetch).run(function (err, people) {
// returning only 'name', 'class' and 'rollNumber' properties
// not working
});
我也试过了
字符串(fieldsToFetch)
和fieldsToFetch.toString()但它将整个数组转换为单个字符串。那么我如何使用这个数组作为参数呢
谢谢
编辑
传递2或3参数不是一个挑战,主要目标是将所有数组元素作为单个元素进行传递。因为传递数组,但它需要单独的字符串,因此如果使用ES6
,则可以像一样传递。仅(…fieldsToFetch)
。
这就是所谓的。它获取数组,将其拆分为项目,并将它们作为单独的参数传递
范例
功能f(a、b、c){
控制台日志(a);
控制台日志(b);
控制台日志(c);
}
var args=[1,2,3];
f(…args)代码>像这样尝试..使用array.splice()
从数组中删除最后一个元素。然后使用。。。排列运算符
:
var fieldsToFetch = ['name', 'class', 'rollNumber'];
fieldsToFetch.splice(2,1);//now array having two elements ['name', 'class']
然后
但是OP只需要放置数组的两个元素。仅(“名称”、“类”)
。什么是…
意思?这是一种运算符还是你想说些别的?@ArpitMeena看到嵌入在answer@Suren谢谢,但它显示了一个错误SyntaxError:Unexpected token…
,JSHINT也显示了一个错误:[JSHINT]“spread/rest operator”仅在ES6中可用(使用“esversion:6”)。(W119)
@ArpitMeena排列运算符需要ES6
,但您使用的是旧版本,您需要像一样逐项传递。仅(fieldsToFetch[0],fieldsToFetch[1])
.only(...fieldsToFetch)