> import React from 'react';
import './style.css';
function App() {
const measurements = [
'1 cup ',
'1 large',
'1 large',
'1 tbs',
'2 tsp',
'1 tsp ',
'1/2 tsp',
'1/2 tsp',
'1/4 tsp',
'1/4 tsp',
'4 cups ',
'1 cup ',
'Pinch',
' ',
' ',
' ',
' ',
' ',
' ',
' ',
];
const flattenArray = (str) => {
return str?.map((char, i) => {
return char? (i < str.length - 1 ? char + ',' : char + '.') : null;
});
};
return (
<div>
<h1>Hello StackBlitz!</h1>
<p>Measurement: {flattenArray(measurement)}</p>
</div>
);
}
export default App;//结果为:1杯、1大、1大、1 tbs、2 tsp、1 tsp、1/2 tsp、1/2 tsp、1/4 tsp、1/4 tsp、4杯、1杯、夹持、.
//预期结果:1杯、1大、1大、1 tbs、2 tsp、1 tsp、1/2 tsp、1/2 tsp、1/4 tsp、1/4 tsp、4杯、1杯子、1 tsp。
发布于 2022-09-05 10:11:02
.map方法总是返回尽可能多的数组元素。如果你不需要空元素,它们必须被过滤,
measurements
.filter(item => item.trim().length > 0)
.join(', ')
.concat('.')发布于 2022-09-05 10:21:04
你可以试试这个:
const flattenArray = (str) => {
return str?.map((char, i) => {
return char===' ' ?null: (i ===0 ? char : ","+char ) ;
}) ;
};
return (
<div>
<h1>Hello StackBlitz!</h1>
<p>Measurement: {flattenArray(measurements)}.</p>
</div>
);https://stackoverflow.com/questions/73607691
复制相似问题