情况:我有一个包含多个子和子子对象的大对象,其属性包含多种数据类型.出于我们的目的,此对象看起来像这样:
var object = {
aProperty: {
aSetting1: 1,
aSetting2: 2,
aSetting3: 3,
aSetting4: 4,
aSetting5: 5
},
bProperty: {
bSetting1: {
bPropertySubSetting : true
},
bSetting2: "bString"
},
cProperty: {
cSetting: "cString"
}
}
Run Code Online (Sandbox Code Playgroud)
我需要循环遍历此对象并构建显示层次结构的键列表,因此列表最终看起来像这样:
aProperty.aSetting1
aProperty.aSetting2
aProperty.aSetting3
aProperty.aSetting4
aProperty.aSetting5
bProperty.bSetting1.bPropertySubSetting
bProperty.bSetting2
cProperty.cSetting
Run Code Online (Sandbox Code Playgroud)
我有这个函数,它循环遍历对象并吐出密钥,但不是分层次的:
function iterate(obj) {
for (var property in obj) {
if (obj.hasOwnProperty(property)) {
if (typeof obj[property] == "object") {
iterate(obj[property]);
}
else {
console.log(property + " " + obj[property]);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
有人能告诉我怎么做吗?这里有一个jsfiddle让你搞砸:http: …
我有:
var keys = [ "height", "width" ];
var values = [ "12px", "24px" ];
Run Code Online (Sandbox Code Playgroud)
我想把它转换成这个对象:
{ height: "12px", width: "24px" }
Run Code Online (Sandbox Code Playgroud)
在Python中,有一个简单的习语dict(zip(keys,values)).在jQuery或普通的Javascript中是否有类似的东西,或者我必须做很长的事情吗?
如何在不使用javascript循环的情况下从两个数组创建对象.
例:
array1 = [1,2,3,4,5];
array2 = [A,B,C,D,E];
Run Code Online (Sandbox Code Playgroud)
我想从下面的对象
obj = {
'1': 'A',
'2': 'B',
'3': 'C',
'4': 'D',
'5': 'E',
}
Run Code Online (Sandbox Code Playgroud)
提前致谢
需要一些关于如何正确递归地做这些建议的建议.
基本上我正在做的是进入一堆文本并将其作为JSON返回.
例如:
文本:
q
b
name:rawr
Run Code Online (Sandbox Code Playgroud)
返回:
[
"q",
"b",
{
"name": "rawr"
}
]
Run Code Online (Sandbox Code Playgroud)
以下输入:
q
b
name:rawr:awesome
Run Code Online (Sandbox Code Playgroud)
会返回(输出格式不重要):
[
"q",
"b",
{
"name": {
"rawr": "awesome"
}
}
]
Run Code Online (Sandbox Code Playgroud)
如何修改以下代码以允许以递归方式在对象中包含对象.
var jsonify = function(input){
var listItems = input, myArray = [], end = [], i, item;
var items = listItems.split('\r\n');
// Loop through all the items
for(i = 0; i < items.length; i++){
item = items[i].split(':');
// If there is a value, then split it to create …Run Code Online (Sandbox Code Playgroud) 我知道我上传了一个类似的问题,但我的意图在这里不同,所以这不是一个重复的问题。
我想根据另一个数字数组对数组进行排序。更具体地说,如果 1 是数字数组的第 n 个元素,我想重新排列目标数组,以便原始数组中的第 n 个元素是第一个元素,依此类推。例如;
//Case 1
const input = ["a", "b", "c", "d", "e"];
const order = [2, 4, 5, 1, 3];
intended_result: ["d", "a", "e", "b", "c"];
//Case 2
const input = ["a", "b", "c", "d", "e"];
const order = [3, 1, 4, 5, 2];
intended_result: ["b", "e", "a", "c", "d"];
Run Code Online (Sandbox Code Playgroud)
执行上述操作的 Javascript 代码是什么?有什么建议吗?
非常感谢!
我有这些数据
var foo = ['US','MX','NZ'];
var foo1 = [12',13',17];
var Object = {};
Run Code Online (Sandbox Code Playgroud)
我试过这个东西
var Object = {foo:foo1}
Run Code Online (Sandbox Code Playgroud)
但是当我使用alert(JSON.stringify(Object))排列对象时,它无法正常工作; 我看见:
{"foo":["12","13","17"]}
Run Code Online (Sandbox Code Playgroud)
我想要的是让它像这样:
var Object = {
"US":"12",
"MX":"13",
"NZ":17
}
Run Code Online (Sandbox Code Playgroud)
有什么方法可以让它看起来像这样吗?
我有2个数组,我想"减少"到1个对象.
例如:
我有..
var originalData = [1,2,3];
var newData = [3,1,2];
Run Code Online (Sandbox Code Playgroud)
我想将这两个数组组合成一个如下所示的对象:
var newOrderObject = {1:3, 2:1, 3:2};
Run Code Online (Sandbox Code Playgroud)
即时通讯使用reduce函数,但它似乎是以不同的方式映射它们
var newOrderObject = originalData.reduce(function(newData) {
var orderObject = {};
originalData = newData;
return orderObject;
}, {});
Run Code Online (Sandbox Code Playgroud)
任何建议都会被认可
我有两个长度相同的数组。
array1 = ['title', 'details', 'price', 'discount'];
array2 = ['product name', 'product details', 200, 20];
Run Code Online (Sandbox Code Playgroud)
想要将它们转换为一个对象,如下所示
newObject = {
title: 'product name',
details: 'product details',
price: 200,
discount: 20
}
Run Code Online (Sandbox Code Playgroud)
怎么做?
我有两个数组,keys和commonkeys.
我想使用这两个数组创建一个键值对,输出应该像langKeys.
怎么做?
这是数组一:
var keys=['en_US','es_ES', 'pt_PT','fr_FR','de_DE','ja_JP','it_IT']
Run Code Online (Sandbox Code Playgroud)
这是数组二:
var commonKeys=['en-*','es-*', 'pt-*','fr-*','de-*','ja-*','it-*', '*']
Run Code Online (Sandbox Code Playgroud)
这是我需要的输出:
var langKeys = {
'en-*': 'en_US',
'es-*': 'es_ES',
'pt-*': 'pt_PT',
'fr-*': 'fr_FR',
'de-*': 'de_DE',
'ja-*': 'ja_JP',
'it-*': 'it_IT',
'*': 'en_US'
};
Run Code Online (Sandbox Code Playgroud)