Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.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 错误类型错误:array.map不是角度管道中的函数_Javascript_Angular_Angular8_Angular Pipe - Fatal编程技术网

Javascript 错误类型错误:array.map不是角度管道中的函数

Javascript 错误类型错误:array.map不是角度管道中的函数,javascript,angular,angular8,angular-pipe,Javascript,Angular,Angular8,Angular Pipe,我得到了这个错误,错误类型错误:错误类型错误:array.map在使用这个角度管道时不是函数错误,下面是代码 导出类CharacterWithCommasPipe实现PipeTransform{ 变换阵列{ return array.mapitem=>item.name.join','; } } 您可能没有在数组上调用此管道 理想情况下,如果管道的输入不是预期格式,您应该确保抛出错误。这样,它将以更优雅的方式实现 为此,请对管道进行以下更改: import { Pipe, PipeTransf

我得到了这个错误,错误类型错误:错误类型错误:array.map在使用这个角度管道时不是函数错误,下面是代码

导出类CharacterWithCommasPipe实现PipeTransform{ 变换阵列{ return array.mapitem=>item.name.join','; }
} 您可能没有在数组上调用此管道

理想情况下,如果管道的输入不是预期格式,您应该确保抛出错误。这样,它将以更优雅的方式实现

为此,请对管道进行以下更改:

import { Pipe, PipeTransform } from "@angular/core";

@Pipe({
  name: "joiner"
})
export class JoinerPipe implements PipeTransform {
  transform(arrayToJoin: Array<any>, joinBy?: string) {
    if (arrayToJoin && arrayToJoin.map) {
      return arrayToJoin.map(item => item.name).join(joinBy || ", ");
    }
    throw new Error('joiner pipe only expects an Array as a first argument');
  }
}
这是给你的裁判的一封信


还请发布使用此管道的视图代码,您很可能将某些东西放入到非arrayObjects的管道中,{},在JavaScript中没有方法.map。所以请确保它。
<p> With Joiner Value - {{ items | joiner: ' and ' }}</p>
<p> Without Joiner Value - {{ items | joiner }}</p>

<p> With wrong Input that throws error on the console - {{ someOtherItems | joiner: ', ' }}</p>
items = [
  { name: 'A' },
  { name: 'B' },
  { name: 'C' },
  { name: 'D' }
];

someOtherItems = 'ABCD';