Javascript 如何在数组中替换项

Javascript 如何在数组中替换项,javascript,reactjs,Javascript,Reactjs,大家好,我有以下代码: 在这个场景中,我从后端接收一些数据 const文件名= [{id:1,标题:'亚美尼亚知识产权15-10月30日.pdf'} ,{id:2,标题:'France lorem ipsum 16-11月30日.pdf'} ,{id:3,标题:'German lorem ipsum 17-Dec 30.pdf'} ,{id:4,标题:'English lorem ipsum 18-Jan 08.pdf'} ] 我正在计算如果所有标题字符的总和大于40,那么我将隐藏其余元素(

大家好,我有以下代码:

在这个场景中,我从后端接收一些数据

const文件名=
[{id:1,标题:'亚美尼亚知识产权15-10月30日.pdf'}
,{id:2,标题:'France lorem ipsum 16-11月30日.pdf'}
,{id:3,标题:'German lorem ipsum 17-Dec 30.pdf'}
,{id:4,标题:'English lorem ipsum 18-Jan 08.pdf'}
] 
我正在计算如果所有标题字符的总和大于40,那么我将隐藏其余元素(在我的标题中)并用数字显示。那部分很好用

让lengthCount=0;
设maxIndex=0;
常量allowCharCount=40;
常量文件=[];
常量文件=({data})=>{
data.map((项目、索引)=>{
if(长度计数)(
{perFile.title}
));
返回(
{myFiles}
{lengthCount<20?空:(
+{data.length-maxIndex-1}
)}
);
现在,我尝试获取每个元素的标题,并以这种方式对它们进行转换:我需要从开始处获取5个字符,然后连接“…”,然后从结束处连接10个字符

我试着从头到尾替换我的标题,但它不起作用

“TypeError:titleFullName.substr不是函数”

以下是我的尝试:

让titleFullName=file.map((item)=>item.title);
设titleFullNameFirstPart=titleFullName.slice(0,5);
const titleFullNameSecondPart=titleFullName.slice(10,titleFullName.length-1);
常量TitleName=titleFullNameFirstPart+“…”+titlefullnamecondpart;
最后,对于每个标题,我应该得到如下内容,例如:

Armen... Oct 30.pdf
Franc... Nov 30.pdf
Germa... Dec 30.pdf
Engli... Jan 08.pdf

由于要转换数组,应将字符串转换逻辑放在
.map
中,以便迭代的每个项都被转换。您的
标题fullnamesecondpart
也需要调整一点,从字符串长度中减去10,并将其传递到
.slice
,以获得最后10个字符

const文件名=[{
id:1,
标题:“亚美尼亚lorem ipsum 15-10月30日.pdf”
},
{
id:2,
标题:“法国lorem ipsum 16-11月30日.pdf”
},
{
id:3,
标题:“德国lorem ipsum 17-Dec 30.pdf”
},
{
id:4,
标题:“English lorem ipsum 18-Jan 08.pdf”
}
];
const transformed=fileName.map((项)=>{
const titleFullName=item.title;
设titleFullNameFirstPart=titleFullName.slice(0,5);
const titleFullNameSecondPart=titleFullName.slice(titleFullName.length-10);
常量TitleName=titleFullNameFirstPart+“…”+titlefullnamecondpart;
返回标题名;
});

console.log(transformed);
我明白了,我认为它是有效的,但是请帮助我在渲染时在不同的框中显示每个标题,映射到
转换的
,以便每个转换的项都被单独渲染。或者在返回JSX时将所有转换逻辑放在
.map