Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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的情况下手动实现join函数';我们加入吧?_Javascript_Arrays_Function_Separator - Fatal编程技术网

如何在没有本机javascript的情况下手动实现join函数';我们加入吧?

如何在没有本机javascript的情况下手动实现join函数';我们加入吧?,javascript,arrays,function,separator,Javascript,Arrays,Function,Separator,我是一名javascript初学者,下面是我正在处理的5个编码问题 1.声明一个名为myName的变量,并将其分配给由两个字符串填充的数组:1)您的名字和2)您的姓氏 2.声明一个名为join的函数,该函数可以接受两个输入:1)数组和2)分隔符字符串。分隔符字符串是可选的 3.join将输入数组的所有元素与输入字符串连接起来并返回结果。join的输出总是一个字符串 4.如果未提供分隔符,则默认分隔符应为字符串空间“”。如果未提供输入数组或数组为空,join应返回空字符串“” 5.不能对数组使用内

我是一名javascript初学者,下面是我正在处理的5个编码问题

1.声明一个名为myName的变量,并将其分配给由两个字符串填充的数组:1)您的名字和2)您的姓氏

2.声明一个名为join的函数,该函数可以接受两个输入:1)数组和2)分隔符字符串。分隔符字符串是可选的

3.join将输入数组的所有元素与输入字符串连接起来并返回结果。join的输出总是一个字符串

4.如果未提供分隔符,则默认分隔符应为字符串空间“”。如果未提供输入数组或数组为空,join应返回空字符串“”

5.不能对数组使用内置连接方法,我们强烈建议避免使用其他内置方法


//到目前为止,我已经在下面写了一些代码,看起来我已经完成了1~3个。但是,我没有解决4和5的线索。我怎样才能解决它们

//错误消息说:当未提供分隔符时,联接函数应默认使用空格,如果未提供数组,则应返回空字符串

var myName = ["FirstName", "LastName"];

function join(arr,sep) {
  result = arr.join(sep);
  return result;
};
var myName=[“firstName”,“lastName”];
//注意sep=“”,这是JS的默认值语法
//见:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters
函数联接(arr,sep=“”){
//如果arr不是数组的实例
//然后根据规范返回一个空字符串
if(!(阵列的arr实例)){
返回“”;
}
//将最后一个字符串初始化为空字符串
var ret=“”;
//循环遍历数组的标准
对于(变量i=0;i
var myName=[“firstName”、“lastName”];
//注意sep=“”,这是JS的默认值语法
//见:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters
函数联接(arr,sep=“”){
//如果arr不是数组的实例
//然后根据规范返回一个空字符串
if(!(阵列的arr实例)){
返回“”;
}
//将最后一个字符串初始化为空字符串
var ret=“”;
//循环遍历数组的标准
对于(变量i=0;i
4)您可以为参数设置默认值,当未传递任何值时将使用该值:

function join(arr = [], sep = '') {
  if (arr.length === 0) {
        return "";
  }
};
5) 如果无法使用内置方法,则可以编写join yourself的代码:

function join(arr, sep = '') {
  var result = "";
  for (let i = 0; i < arr.length - 1; i++) {
        result += arr[i];
        result += sep;
  }
  result += arr[arr.length - 1];
  return result;
};
函数连接(arr,sep=''){
var结果=”;
for(设i=0;i
4)您可以为参数设置默认值,当未传递任何值时将使用该值:

function join(arr = [], sep = '') {
  if (arr.length === 0) {
        return "";
  }
};
5) 如果无法使用内置方法,则可以编写join yourself的代码:

function join(arr, sep = '') {
  var result = "";
  for (let i = 0; i < arr.length - 1; i++) {
        result += arr[i];
        result += sep;
  }
  result += arr[arr.length - 1];
  return result;
};
函数连接(arr,sep=''){
var结果=”;
for(设i=0;i
就这么简单吗

让myName=[“FirstName”,“LastName”];
函数联接(arr、sep){
arr=arr | |[]
sep=sep | |”
设res=''
对于(设i=arr.length;i--;)res=(i?sep:'')+arr[i]+res
返回res
};
log('--no args-->'+join()+'+join(myName)+'+join(myName)'/'))+'就是这样吗?:

让myName=[“FirstName”,“LastName”];
函数联接(arr、sep){
arr=arr | |[]
sep=sep | |”
设res=''
对于(设i=arr.length;i--;)res=(i?sep:'')+arr[i]+res
返回res
};

console.log('--no args----------->'+join()++'+join(myName)+'+join(myName,'/'))+'在函数中使用的是join数组方法。如果您确定该arr始终只有两个元素,那么您可以简单地使用字符串串联字符
+
,如下所示:

arr[0]+arr[1]
为了使其更加健壮,您可以在
arr
上循环,并将每个元素添加到结果输出中

//将变量设置为输出
让输出=“”;
//在数组元素上循环
arr.forEach(el=>{
//将每个元素添加到现有输出
//“sep”sep+el:“+el;”部分检查是否有分隔符,如果没有,则添加空格
输出+=sep?sep+el:''+el;
});
只有当
输出中已经添加了一个元素时,上述方法才有效,我们需要添加第二个检查,以查看输出是否仍然是空字符串

完整的函数如下所示:

函数连接(arr,sep=''){
让输出=“”;
arr.forEach(el=>{
如果(输出=“”){
输出+=el;
}否则{
输出+=sep?sep+el:''+el;
}
});
返回输出;
}
那么结果就是:

var myName=[“FirstName”,“LastName”];
加入(我的名字,,)/“名字,