Javascript 如果为空=true,则从双嵌套数组中删除第一项和最后一项

Javascript 如果为空=true,则从双嵌套数组中删除第一项和最后一项,javascript,arrays,typescript,data-structures,Javascript,Arrays,Typescript,Data Structures,我正在使用prism react渲染器,它突出显示了我在MDX内部的JSX中渲染的模板字符串。由于间距的原因,使用时会出现一些空白: <Code> {` function test() { return "Test"; }; `} </Code> 这会导致prism react渲染器创建空的第一行和最后一行。如果第一行和最后一行是空的,我想删除它们。我正在使用的阵列具有以下类型: type TokenArray = { types: string[];

我正在使用prism react渲染器,它突出显示了我在MDX内部的JSX中渲染的模板字符串。由于间距的原因,使用时会出现一些空白:

<Code>
{`
function test() {
    return "Test";
};
`}
</Code>
这会导致prism react渲染器创建空的第一行和最后一行。如果第一行和最后一行是空的,我想删除它们。我正在使用的阵列具有以下类型:

type TokenArray = {
  types: string[];
  content: string;
  empty?: boolean;
}[][];
外部数组保存表示线的数组。这些内部数组包含一个具有空属性的对象。 如果行的空属性设置为true,我想从外部数组tokenArray中删除第一个或最后一个项

我试过的

使用tokenArray[0]查看外部数组的第一项,并获取其唯一项如何获取?并检查该对象是否具有名为empty且值为true的属性。如果是,请调用tokenArray.shift 最后一项也可以这样做,但我不知道如何使用tokenArray[?]访问它


请帮助我。

如果需要2d数组中的第一个元素,请使用like数组[0][0]。就像我们通过数组[行][列]访问一样

最后一项是

数组[最后一行][最后一列] 最后一行=数组[array.length-1] 最后一行中的最后一项=数组[array.length-1][last_row.length-1]

这里是链接

type TokenArray = {
  types: string[];
  content: string;
  empty?: boolean;
}[][];

const tokens: TokenArray = [
    [{ types: ['a', 'b'], content: 'abc', empty: true },
        { types: ['c', 'd'], content: 'cde', empty: false }],
    [{ types: ['p', 'q'], content: 'pqr', empty: true },
        { types: ['x', 'y'], content: 'xyz', empty: false }],
];

const first = tokens[0][0];
const last = tokens[tokens.length - 1][tokens[tokens.length - 1].length - 1];
console.log('first', first, "Is Empty true?: ", first.empty === true);
console.log('last', last, "Is Empty true?: ", last.empty === true);