我有一个名为的对象obj,它将用作创建某种格式的对象的新数组的基础。
我的基础对象:
var obj={
"en": [{
"faq": "faq",
"about": "about"
}],
"hi": [{
"faq": "aksar-poochhe-jaane-vaale",
"about": "hamaare-baare"
}]
}
Run Code Online (Sandbox Code Playgroud)
我创建了一个getObj()接受两个参数lang和基础对象的函数obj。
范例场景
当我打电话时:
getObj("en", obj);
Run Code Online (Sandbox Code Playgroud)
我应该得到:
[{
"url": "/en/faq",
"links": [
{ lang: 'en', url: '/en/faq' },
{ lang: 'hi', url: '/hi/aksar-poochhe-jaane-vaale' }
]
},
{
"url": "/en/about",
"links": [
{ lang: 'en', url: '/en/about' },
{ lang: 'hi', url: '/hi/hamaare-baare' }
]
}]
Run Code Online (Sandbox Code Playgroud)
当我打电话时:
getObj("hi", obj);
Run Code Online (Sandbox Code Playgroud)
我应该得到:
[{
"url": "/hi/aksar-poochhe-jaane-vaale",
"links": [ …Run Code Online (Sandbox Code Playgroud) I would like to know how to convert object properties string to integer in javascript.
I have a obj, which if has property value is number string convert to number in javascript
var obj={
ob1: {id: "21", width:"100",height:"100", name: "image1"},
ob2: {id: "22", width:"300",height:"200", name: "image2"}
}
function convertIntObj (obj){
Object.keys(obj).map(function(k) {
if(parseInt(obj[k])===NaN){
return obj[k]
}
else{
return parseInt(obj[k]);
}
});
}
var result = convertIntObj(obj);
console.log(result)Run Code Online (Sandbox Code Playgroud)
Expected Output:
[
{id: 21, width:100,height:100, name: "image1"},
{id: 22, width:300,height:200, name: …Run Code Online (Sandbox Code Playgroud) 我想知道为什么在调度时多次调用该函数。还有,有没有更好的办法,
getData = (value) =>{
const body = {
value: value,
cn: "TH"
}
return body;
}
renderData(){
console.log("starts");
this.props.dispatch(queryData(this.getData(10)));// called repeatedly
}
render(){
return(
<div>{this.renderData()}</div>
)
}
Run Code Online (Sandbox Code Playgroud)
我已经更新了相同类型的不同场景,我需要知道有没有其他更好的方法。
场景二
getData = () =>{
const body = {
value: value,
cn: "TH"
}
return body;
}
componentDidMount=()=>{
this.props.dispatch(queryData(this.getData()))
}
componentDidUpdate = () => {
const {allstate} = this.props.querydata
if(this.props.querydata){
this.renderState(allstate);
}
}
renderState = (data) => {
const getId = data.map(e=>e.id); //will get array of values [2, 3, 4]
getid.map(e=> …Run Code Online (Sandbox Code Playgroud) 我想知道如何在 javascript 中将数组对象更改为嵌套对象。我有list数组对象,如何转换为嵌套对象
function nestedobj(arrlist){
var result ={};
result.list1 = arrlist[0];
result.list2 = arrlist[1]
return list;
}
var list= [
{id: 1, cn: "SG"},
{id: 2, cn: "TH"}
]
var list1= [
{id: 1, cn: "SG"},
{id: 2, cn: "TH"},
{id: 3, cn: "MY"}
]
var listobj = this.nestedobj(list);
var listobj1 = this.nestedobj(list1);
console.log(listobj)
console.log(listobj1)Run Code Online (Sandbox Code Playgroud)
预期产出
{
"list1":{"id": 1, "cn": "SG"},
"list2":{"id": 2, "cn": "TH"}
}
{
"list1":{"id": 1, "cn": "SG"},
"list2":{"id": 2, "cn": "TH"},
"list3":{"id": 3, "cn": …Run Code Online (Sandbox Code Playgroud) 我想知道如何对javacript中的两个输入使用单一方法。
我有一个具有两个输入字段的表单,调用一个函数来格式化currecny。我需要知道如何为两个不同的输入申请相同的功能。
formatCurrency(e){
var myinput = e.target.value;
var val = myinput;
val = val.replace(/[^0-9\.]/g,'');
if(val != "") {
var valArr = val.split('.');
valArr[0] = (parseInt(valArr[0],10)).toLocaleString();
val = valArr.join('.');
}
document.getElementById("samount").value = val;
}
formatRCurrency(e){
var myinput = e.target.value;
var val = myinput;
val = val.replace(/[^0-9\.]/g,'');
if(val != "") {
var valArr = val.split('.');
valArr[0] = (parseInt(valArr[0],10)).toLocaleString();
val = valArr.join('.');
}
document.getElementById("tamount").value = val;
}
<input type="text" id="samount" name="samount" class="form-control" @keyup=${this.formatSCurrency} >
<input type="text" id="tamount" name="tamount" class="form-control" @keyup=${this.formatRCurrency} >
Run Code Online (Sandbox Code Playgroud)
如何使单个功能可用于两个输入。
如果id在 javascript 中相同,我想知道如何组合数组值。
我试过下面的代码
let result = this.getData(obj);
function getData(obj) {
return obj.map(e=>({procode: e.prcode, id: e.id});
}
Run Code Online (Sandbox Code Playgroud)
var obj= [
{
id: "1",
prcode: "dessert"
},{
id: "1",
prcode: "snacks"
}, {
id: "2",
prcode: "cafe"
}, {
id: "4",
prcode: "all"
}
]
Run Code Online (Sandbox Code Playgroud)
预期输出:
result = [
{id: "1", prcode: "dessert,snacks"},
{id: "2", prcode: "cafe"},
{id: "4", prcode: "all"}
]
Run Code Online (Sandbox Code Playgroud) javascript ×6
arrays ×4
object ×4
ecmascript-6 ×1
forms ×1
function ×1
html5 ×1
jquery ×1
react-redux ×1
reactjs ×1
redux ×1
redux-saga ×1