我有这个数组:
sampleArray = [
{name: 'product-2'},
{name: 'product-15'},
{name: 'product-3'},
{name: 'product-10'}
]
Run Code Online (Sandbox Code Playgroud)
我想使用属性对其进行排序name,按字母顺序排列,字符串中的数字除外。
我sort结合使用localeCompare:
sampleArray.sort((a, b) => a.name.localeCompare(b.name))
Run Code Online (Sandbox Code Playgroud)
但是,作为name一个包含数字的字符串,我得到了这个:
sampleArray = [
{name: 'product-10'},
{name: 'product-15'},
{name: 'product-2'},
{name: 'product-3'}
]
Run Code Online (Sandbox Code Playgroud)
考虑到数字,我还需要以正确的顺序获取它。这会是什么:
sampleArray = [
{name: 'product-2'},
{name: 'product-3'},
{name: 'product-10'},
{name: 'product-15'}
]
Run Code Online (Sandbox Code Playgroud)
我知道如果我只处理数字,我可以做到:
sampleArray.sort((a,b) => a - b)
Run Code Online (Sandbox Code Playgroud)
但事实并非如此。
我该如何解决这个问题?
我正在开发一个Angular应用程序.我使用Typescript并拥有一个包含内置Set和Map类型的类.我的问题是我想将我的类的实例作为JSON存储在浏览器的localStorage中,但是当我尝试对它们进行字符串化时,我会得到这些类型的空字符串.
chrom的控制台示例:
> inst = new Object({
'elem': new Set(),
'str': 'somestring'
})
: Object {elem: Set(0), str: "somestring"}elem: Set(0)str: "somestring"}
> inst.elem.add('123');
: Set(1) {"123"}
> inst.elem.add('123');
: Set(1) {"123"}size: (...)__proto__: Set[[Entries]]: Array(1)0: "123"length: 1
> JSON.stringify(inst)
: "{"elem":{},"str":"somestring"}"
Run Code Online (Sandbox Code Playgroud)
我唯一能想到的是在字符串化之前将Sets和Maps分别递归转换为Arrays和Objects.但这听起来很费劲.
有没有更好的办法?谢谢.
在不使用外部库的情况下,您可以建议哪些方法来更改 React 中的语言?我的方法是使用三元运算符{language === 'en'? 'title': 'titre'}。如果语言为en,则显示 ;title如果不是,则显示titre。还有什么方法可以推荐一下。例如,翻译应放置在单独的 json 文件中。
代码在这里: https: //stackblitz.com/edit/react-eu9myn
class App extends Component {
constructor() {
super();
this.state = {
language: 'en'
};
}
changeLanguage = () => {
this.setState({
language: 'fr'
})
}
render() {
const {language} = this.state;
return (
<div>
<p>
{language === 'en' ? 'title' : 'titre'}
</p>
<button onClick={this.changeLanguage}>change language</button>
</div>
);
}
}
Run Code Online (Sandbox Code Playgroud) 我需要用纯JS编写脚本,以便在加载页面时显示弹出窗口。
背景需要褪色,我必须将自己的内容添加到弹出窗口中。我不想使用CSS或HTML。
将CSS和HTML放入Javascript代码中。有人可以帮我弄这个吗?
我可以自己做样式。
我只能使用外部CSS和HTML弹出窗口,而不能使用纯JS弹出窗口。它只必须是用纯JS编写的简单弹出窗口,它在加载页面时就会弹出。
请帮我!!
我更喜欢使用JSFiddle。