Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.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数组转换为元素_Javascript_Arrays_String - Fatal编程技术网

如何将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)