如何从数组中删除"null"?

  • 本文关键字:null 删除 数组 reactjs
  • 更新时间 :
  • 英文 :


我从后端收到一个响应,该响应为我提供了一个语言数组,其中一种是默认的,但另外两种语言带有不同的变量。(还需要将它们分开以获取语言字符串)

useEffect(() => {
axios
.get('api')
.then((response) => {
console.log(response.data);
setLanguage([...language, response.data.data.LANGUAGE1_NAME.split("-")[1], response?.data?.data?.LANGUAGE2_NAME == undefined ? 'null' : response.data.data.LANGUAGE2_NAME.split("-")[1], response?.data?.data?.LANGUAGE3_NAME == undefined ? 'null' : response.data.data.LANGUAGE3_NAME.split("-")[1]])
})
.catch((error) => {
console.log(error);
});
}, []);

因此,当我将语言传递给子组件时,在一个场景中,我可能会像这样传递它language["English";null";null"]。所以在子组件中,我在输入中显示它们,我要做的是从列表中删除"null"。我试过这个

<div>
<input
type="text"
value={language == 'null' ? language.pop() : language}
onChange={(event) => handleItemChanged(event, i)}
placeholder="Language"
/>
</div>                   

但是它不工作。

如何删除"null"从数组?

有两种方法来实现:

let array = [0, 1, null, 2, 3];
function removeNull(array) {
return array.filter(x => x !== null)
};

其他方式:

const filteredArray = [1, null, undefined, 2].filter(Boolean);

另一种说法:

let a = [1,2,4,6,null,'A',undefined,'B'].filter(x => !x===false);

这里,它也将移除undefined

甚至:

let a = [1,2,4,6,null,'A',undefined,'B'].filter(x => x);

事实上,null是一个string,您可以过滤您的数组并删除值:

language = language.filter(element => element !== 'null')

最新更新